无论值如何,针对字符串的测试都会通过
A test against a string passes regardless of the value
无论 invitationStatus
实际包含的值如何,此测试 pm.expect(jsonData.payload.invitationStatus == "A");
都有效。
即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");
这是其他邮递员测试示例的好资源https://www.getpostman.com/docs/v6/postman/scripts/test_examples
无论 invitationStatus
实际包含的值如何,此测试 pm.expect(jsonData.payload.invitationStatus == "A");
都有效。
即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");
这是其他邮递员测试示例的好资源https://www.getpostman.com/docs/v6/postman/scripts/test_examples