【问题标题】:Postman AssertionError expected: 'value' to equal valuePostman AssertionError 预期:“值”等于值
【发布时间】:2020-09-21 02:34:02
【问题描述】:

问题: 在 Postman 中,我正在运行一个 POST 请求并尝试将我在响应正文中收到的内容断言为通过 CSV 文件传递​​的内容。

CSV 文件包含三列:employee_name、employee_salary 和employee_age。所有设置为通用格式(默认)。

断言对employee_name 工作正常,但是当我尝试对employee_age 和employee_salary 执行此操作时,我收到如下错误: AssertionError: 预期 '35' 等于 35

Here 是我正在使用的 API。

我尝试过的: 我尝试将 CSV 文件中的年龄和薪水单元格的格式设置为文本和数字,但无济于事。

代码:

    var jsonData = pm.response.json();

    pm.test("Verify name", function() {
        pm.expect(jsonData.data.name).to.equal(pm.iterationData.get("employee_name"));
    });

    pm.test("Verify age", function() {
        pm.expect(jsonData.data.age).to.equal(pm.iterationData.get("employee_age"));
    });

    pm.test("Verify salary", function() {
        pm.expect(jsonData.data.salary).to.equal(pm.iterationData.get("employee_salary"));
    });

感谢您的帮助!

最好, 杰森

【问题讨论】:

  • 看起来它失败了,因为 '35' 是一个字符串,而 35 是一个数字

标签: javascript postman


【解决方案1】:

它正在尝试将string 与Integer 匹配,因此您可以使用parseInt() 包装数据文件中的值。

例如,年龄是这样的:

pm.expect(jsonData.data.age).to.equal(parseInt(pm.iterationData.get("employee_age")))

【讨论】:

  • 我不得不在 jsonData.data.age 上使用 parseInt,因为那是字符串的一部分,但这个解决方案有效!非常感谢您的帮助:)。
  • 啊,这很有道理。这是另一个?我看不到你的回复,所以我猜了?
猜你喜欢
  • 2017-04-19
  • 2019-08-27
  • 1970-01-01
  • 1970-01-01
  • 2016-11-24
  • 1970-01-01
  • 2020-04-04
  • 1970-01-01
  • 2022-09-23
相关资源
最近更新 更多