如何将CSV与Postman JSON响应值进行比较? 我想将CSV值与邮递员响应值进行比较。
例如:
我的CSV:
迭代,城市,拉面
1,“温哥华”,100
2,“旧金山”,84
我的终点: a link
我的测试:
pm.test("Your test name", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.args.ramen).to.eql(pm.iterationData.get("Ramen"));
});
注意:我从下面的URL获取文件。只有测试是我的。 a link
到目前为止,我遇到以下错误:
您的测试名称| AssertionError:预期'84'等于84
答案 0 :(得分:0)
尝试将csv整数值转换为字符串,并使用to.equal
中的to.eql
(相当于to.deep.equal
):
pm.expect(jsonData.args.ramen).to.equal(new String(pm.iterationData.get("Ramen")));
答案 1 :(得分:0)
您的CSV数据文件中的"Ramen"
的期望值为{strong>数字类型的84
。
但是您的服务会返回类型为 String 的值"ramen"
的属性"84"
。
您的测试有充分的理由失败。
当然,您可以通过强制转换来更改测试数据。但这不是一个很好的测试,因为您正在运行时更改预期的测试数据以变为绿色测试。
如果响应正常,则测试数据不正确: 您需要将“拉面”值作为字符串存储在CSV中:
1,"Vancouver","100"
2,"San Francisco","84"
and so on.
如果测试数据正常,则响应不是: 您必须解决错误的Servie行为。