空手道正则表达式给出错误-原因:不是字符串

时间:2019-03-21 00:03:48

标签: karate

我写了一个小场景,我需要检查json键值是否为任何整数。这是我在空手道DSL中的测试步骤:

When method get
* print response
Then match response contains { numberOfElements: '#regex [0-9]+' }

运行时,出现错误:

  

路径:$ .numberOfElements,实际:8,预期:'#regex [0-9] +',原因:✽处不是字符串。然后匹配响应包含{numberOfElements:'#regex [0-9] + '}

任何想法可能有什么问题吗?

1 个答案:

答案 0 :(得分:1)

要使用integer类型验证JSON值,应为'#number'

#numberOfElements = 8
Then match response contains { numberOfElements: '#number' }

您的处理方法仅会检查类型为string的JSON值是否包含所有数字。

#numberOfElements = '8'
Then match response contains { numberOfElements: '#regex [0-9]+' }

推荐fuzzy matching