postman - 在邮递员测试中,如何确定一个值是否设置为另一个值等于某个值?
问题描述
示例:
[
{
"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);
});
这是进行该测试的正确方法吗?还是要检查两者是否有效?
解决方案
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 中的测试示例。
推荐阅读
- laravel - How to fix Paypal Checkout Order Creation Error
- vee-validate - Vee-validate 使用 3rd 方库扩展验证
- javascript - Ant design的“Step组件”这行怎么去掉?
- sql - 如何获取第二行
- excel - 我无法对单列数据集进行排序
- ssl - 科尔多瓦混合应用程序中的 NSURLErrorDomain 代码 1200 和 1004
- angular - Angular 8 库的全局 CSS
- angular - 用于获取令牌 api 的 Microsoft Graph api 返回请求的资源上不存在“Access-Control-Allow-Origin”标头
- django - 如何更改 django filter_horizontal 过滤器参数
- actionscript-3 - 使 TLFTextField 的宽度适合其在 AS3 中的 html 内容的长度