【发布时间】:2019-02-13 13:16:24
【问题描述】:
假设我有这样的场景
Scenario: Call a Get API and validate the response
Given path 'myteam'
When method get
Then status 201
And print response
And match response contains { teamFeature: 'pick any feature'}
我的 API 响应是
{
"id": "6c0377cd-96c9-4651-bcc8-0c9a7d962bc3",
"teamFeature": "pick any feature"
}
然后我收到类似的错误
example.feature:19 - javascript 评估失败:feature'}, :1:9 缺少关闭引号 特征'} ^ 在第 1 行第 9 列处
如果我的 API 响应不包含单词“any”并且我更改了 match 语句,那么它可以正常工作。看起来我需要以某种方式转义“任何”这个词。
我可以知道如何逃避“任何”这个词吗?
不确定这是否是空手道的错误。
试图打电话
com.intuit.karate.Match match = new com.intuit.karate.Match("pick any feature");
System.out.println(match.contains("pick any feature"));
并收到以下错误
线程“main”中的异常 java.lang.RuntimeException: javascript 评估失败:选择任何功能,预期:1:5;但发现 任何选择任何功能 ^ 在 com.intuit.karate.ScriptBindings.eval(ScriptBindings.java:152) 的第 5 列第 1 行 com.intuit.karate.ScriptBindings.updateBindingsAndEval(ScriptBindings.java:142) 在 com.intuit.karate.ScriptBindings.evalInNashorn(ScriptBindings.java:127) 在 com.intuit.karate.Script.evalJsExpression(Script.java:423) 在 com.intuit.karate.Script.evalKarateExpression(Script.java:337) 在 com.intuit.karate.Script.evalKarateExpression(Script.java:203) 在 com.intuit.karate.Match.(Match.java:67) 在 com.intuit.karate.Match.(Match.java:53)
【问题讨论】:
-
这种情况下的匹配步骤似乎存在问题,临时解决方法是
* def expected = { teamFeature: 'pick any feature'},然后是And match response contains expected
标签: karate