如何将CSV与Postman JSON响应值进行比较?

时间:2019-05-07 12:26:41

标签: postman

如何将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

2 个答案:

答案 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行为。