如何验证包含数字符号的响应值 #

How to validate response value containing the number sign #

我的回复是这样的:

[ { "id": 1, "name": "TEST FORMAT", "value": "#####" } ]

我想这样验证它: 并匹配 response[0] == { id: 1, name: 'TEST FORMAT', value: '#####' }

但它给我以下错误: 错误 com.intuit.karate - 断言失败:路径:$[0].value,实际:'#####',预期:'#####',原因:未知验证器

实际上,空手道将以 # 开头的字符串视为特殊字符串,99% 的情况下您不会受到它的影响。

无论如何,这是解决方法:

* def response = [ { "id": 1, "name": "TEST FORMAT", "value": "#####" } ]
* match response[0] == { id: 1, name: 'TEST FORMAT', value: '#? _ == "#####"' }
* match response[0] == { id: 1, name: 'TEST FORMAT', value: '#regex #{5}' }

实际上我现在正在修复此问题,以便它在未来的版本中可以按预期工作,而无需解决方法。