我有2个不同的JSON响应从2个不同的GET方法从 Postman 。
我正在试着写一个测试来比较它们。
第一个响应是specificYield
[
[
"2020-11-30T00:00:00Z",
50.701604514154944
],
[
"2020-12-31T00:00:00Z",
19.328539610238128
],
[
"2021-01-31T00:00:00Z",
25.183636870929693
]
]
第二个响应是expectedYield
[
[
"2020-11-30T00:00:00Z",
62.78336503569246
],
[
"2020-12-31T00:00:00Z",
32.97678871921154
],
[
"2021-01-31T00:00:00Z",
40.82916109964013
]
]
我尝试检查expectedYield
数组中的整数值是否始终大于specificYield
数组中的值
因此它将把62.78336503569246与50.701604514154944进行比较
然后从32.97678871921154到19.328539610238128
等等
到目前为止,测试看起来是这样的,但我知道我不再使用对象了,我正在尝试重构它,以便只使用数组。
pm.test("Expected Yield > Specified Yield", function () {
const expectedYield = pm.response.json();
const specificYield = pm.globals.get("specificYield");
Object.values(expectedYield).forEach((record) => {
pm.expect(record[0][1]).to.greaterThan(
Object.values(specificYield).forEach((record) => {
pm.expect(record[0][1]);
})
);
});
});
1条答案
按热度按时间oyxsuwqo1#
我不知道PostMan语法,但标准的JS语法应该是
回调函数的第二个参数
i
是被测试元素的索引,用于将该记录与另一个数组的对应记录进行比较。然后我们用
every()
来检查整个数组是否为真,没有必要用Object.values()
--它用来把一个普通对象的属性转换成一个数组,以便使用数组方法,但这些已经是数组了.