JavaScript toString() 方法不适用于空手道 v 1.1.0 中的 JSON
JavaScript toString() method is not working for JSON in karate v 1.1.0
在空手道版本 0.9.6 中,以下代码运行良好
* def response = { "firstName": "John", "lastName" : "doe", "age" : 26, "address" : { "streetAddress": "applewood", "city" : "Nara", "postalCode" : "630-0192" } }
* match response.toString() contains 'applewood'
但在空手道版本 1.1.0 中,断言失败:
match failed: CONTAINS
$ | actual does not contain expected
(STRING:STRING)
'[object Object]'
'applewood'
classpath:...some classpath
甚至我打印了 response.toString()
及其打印 [object Object]
。
v1.1.0 空手道功能文件中的 JS 功能支持是否有任何变化?
您可以试试这个改变:
* match karate.toString(response) contains 'applewood'
还有几点:
- 我认为你正在做的事情是不好的做法。最好将匹配范围缩小到单个字段
- 还要注意“类型转换”:https://github.com/karatelabs/karate#type-conversion
在空手道版本 0.9.6 中,以下代码运行良好
* def response = { "firstName": "John", "lastName" : "doe", "age" : 26, "address" : { "streetAddress": "applewood", "city" : "Nara", "postalCode" : "630-0192" } }
* match response.toString() contains 'applewood'
但在空手道版本 1.1.0 中,断言失败:
match failed: CONTAINS
$ | actual does not contain expected (STRING:STRING)
'[object Object]'
'applewood'classpath:...some classpath
甚至我打印了 response.toString()
及其打印 [object Object]
。
v1.1.0 空手道功能文件中的 JS 功能支持是否有任何变化?
您可以试试这个改变:
* match karate.toString(response) contains 'applewood'
还有几点:
- 我认为你正在做的事情是不好的做法。最好将匹配范围缩小到单个字段
- 还要注意“类型转换”:https://github.com/karatelabs/karate#type-conversion