Karate 如果响应包含单词';任何';然后匹配响应包含失败

Karate 如果响应包含单词';任何';然后匹配响应包含失败,karate,Karate,假设我有这样一个场景 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-

假设我有这样一个场景

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"
}
然后我得到了这样的错误

示例.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)的第1行第5列中 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)在 Match.com.intuit.karate.Match.(Match.java:53)


是的,这是空手道的一个漏洞,我们已经打开了一个问题:

@BabuSekaran建议的解决方案将起作用:

* def response = { foo: 'a any b' }
* def temp = { foo: 'a any b' }
* match response contains temp

对于这种情况,匹配步骤似乎有问题,临时解决方法是
*def expected={teamFeature:'pick any feature'}
,然后
,匹配响应包含expected