首页 > 解决方案 > 在邮递员测试中,如何确定一个值是否设置为另一个值等于某个值?

问题描述

示例

[
    {
        "id": 1,
        "value": 1000,
    },
    {
        "id": 2,
        "value": 500,
    },
]

我想基本上说检查值是 1000,其中 id = 1。

编码:

pm.test("Check value is correct", function () {
    const responseJson = pm.response.json();
    pm.expect(responseJson.value = 1000);
    pm.expect(responseJson.id = 1);
});

这是进行该测试的正确方法吗?还是要检查两者是否有效?

标签: postman

解决方案


responseJson是一个数组,所以它不会工作,因为你没有访问任何数组元素。始终先尝试您的代码。还有其他问题,例如pm.expect(responseJson.value = 1000);无法正常工作,您必须链接检查,此语法不正确。

您可以根据 id 过滤并检查该值:

pm.test("Check value is correct", function () {
    const responseJson = pm.response.json();
    const [filteredObject] = responseJson.filter(el => el.id === 1);
    pm.expect(filteredObject.value).to.eql(1000);
});

我建议阅读Postman docs 中的测试示例


推荐阅读