2

我想测试响应中一个字段返回的小数位数是否等于 5。不确定使用正则表达式是否是最好的解决方案,但这是我目前所拥有的,但似乎不起作用:

pm.test("Check number of decimal place of my_variable field"), () => {
    _.each(jsonData, (results) => {
        if results.my_variable !== null){
            pm.expect(results.my_variable).to.match(/\d{1}.\d{5}/);
        }
    })
}

下面是一个示例响应。请注意,即使它与正则表达式不匹配,测试也会通过

 {
     "my_variable": "0.0198970000000000",

 }

谢谢!

4

1 回答 1

0

关于您的正则表达式的两件事:

您需要.使用 a转义\,否则.将被解释为“任何单个字符”。

\d{5}匹配 5 位数字,但不关心后面是否有更多数字,因此您需要添加$which 检查是否已到达行尾,如果 5 位数字后面没有任何内容。

这个正则表达式正在工作:\d{1}\.\d{5}$

于 2020-09-10T08:04:03.400 回答