在 graphql 中替换空手道
Karate replace in graphql
我不确定为什么替换不起作用。
我有一个 graphql 查询:
mutation updateLocation{
updateLocation(input: {
address:"<address>",
id:"<storeID>",
name:"<name>",
workingHours: [
{
closingTime:"<closingTime>",
isClosed:false,
openingTime:"<openingTime>"
}
.......
在功能文件中我有这个:
Given def query = read ('classpath:graphQL/updateStore.graphql')
* replace query.address = "<address>"
* replace query.regionId = "<regionId>"
* replace query.name = "<name>"
* replace query.closingTime = "<closingTime>"
* replace query.openingTime = "<openingTime>"
* replace query.storeID = storeId
And request { query : '#(query)'}
When method post
Then status 200
Examples:
|address |regionId |name |closingTime |openingTime |
|Adrs1 |286 |st1 |20:00 |10:00 |
替换适用于地址、区域 ID 和名称,但不适用于关闭时间或打开时间,这两个值保持为空。
此外,如果我像这样在后台定义 header:
Given header Authorization = 'Bearer ' + token
我仍然必须为同一场景中的每个请求添加这一行,或者我遗漏了什么?
适合我:
* def query = 'closingTime:"<closingTime>"'
* replace query.closingTime = '20:00'
* match query == 'closingTime:"20:00"'
所以请遵循这个过程:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue
请注意 * replace query.closingTime = closingTime
应该可以。我建议通过为 Examples
列使用不同的名称来避免混淆。
我不确定为什么替换不起作用。 我有一个 graphql 查询:
mutation updateLocation{
updateLocation(input: {
address:"<address>",
id:"<storeID>",
name:"<name>",
workingHours: [
{
closingTime:"<closingTime>",
isClosed:false,
openingTime:"<openingTime>"
}
.......
在功能文件中我有这个:
Given def query = read ('classpath:graphQL/updateStore.graphql')
* replace query.address = "<address>"
* replace query.regionId = "<regionId>"
* replace query.name = "<name>"
* replace query.closingTime = "<closingTime>"
* replace query.openingTime = "<openingTime>"
* replace query.storeID = storeId
And request { query : '#(query)'}
When method post
Then status 200
Examples:
|address |regionId |name |closingTime |openingTime |
|Adrs1 |286 |st1 |20:00 |10:00 |
替换适用于地址、区域 ID 和名称,但不适用于关闭时间或打开时间,这两个值保持为空。
此外,如果我像这样在后台定义 header:
Given header Authorization = 'Bearer ' + token
我仍然必须为同一场景中的每个请求添加这一行,或者我遗漏了什么?
适合我:
* def query = 'closingTime:"<closingTime>"'
* replace query.closingTime = '20:00'
* match query == 'closingTime:"20:00"'
所以请遵循这个过程:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue
请注意 * replace query.closingTime = closingTime
应该可以。我建议通过为 Examples
列使用不同的名称来避免混淆。