Postman 不管值是多少,对字符串的测试都会通过
此测试Postman 不管值是多少,对字符串的测试都会通过,postman,newman,Postman,Newman,此测试pm.expect(jsonData.payload.invitationStatus==“A”)都可以工作 i、 e.payload.invitationStatus=e将通过测试 仅当值为A时,如何使其通过 以下是有效载荷的几个示例: { "payload": { "buyer": "", "error": "E", "invitationStatus": "E", "supplier": "",
pm.expect(jsonData.payload.invitationStatus==“A”)无论invitationStatus实际包含的值是多少,code>都可以工作
i、 e.payload.invitationStatus=e
将通过测试
仅当值为A时,如何使其通过
以下是有效载荷的几个示例:
{
"payload": {
"buyer": "",
"error": "E",
"invitationStatus": "E",
"supplier": "",
"terms": ""
}
}
{
"payload": {
"buyer": "omitted omitted",
"error": "S",
"invitationStatus": "A",
"supplier": "ABC Supplier",
"terms": ""
}
}
以下是测试本身:
// Setters
let jsonData = JSON.parse(responseBody);
// Testers
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Invitation status is A", function () {
if(jsonData.payload) {
pm.expect(jsonData.payload.invitationStatus == "A");
} else {
throw new Error("Unexpected structure");
}
});
我不确定为什么==
没有工作,但是这起作用了pm.expect(jsonData.payload.invitationStatus).to.eql(“A”)代码>
这里有一个关于其他postman测试示例的好资源您在这个问题中的第一行代码显示了值之间的比较。测试显示的是值声明,而不是比较<代码>pm.expect(jsonData.payload.invitationStatus=“A”)代码>在该实例中,值是什么并不重要,因为邀请状态在测试中声明为“A”,因此,无论设置了什么值,它都将在测试运行时重置。@ViaTech我尝试了===
,==
和=
所有这些都通过了,无论值是多少。我更新了问题。啊,好吧,看起来很简单,我猜不是。我还猜您在jsonData.payload
条件中测试了payload.invitationStatus
的值。这是否正确设置为您想要的值?@ViaTech抱歉,我没有理解您的要求