第1部分
Postman的测试示例包括此测试以查看是否存在标题:
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
我的回复标题包含:
Content-Type →application/json
我希望上面的测试能够通过,但它失败了。为什么? 它说:
FAIL Content-Type is present | AssertionError: expected response to not have header with key 'Content-Type'
此外,由于上述测试失败,那么我希望这个负面测试能够成功,但它也失败了:
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type");
});
它说:
FAIL Content-Type is present | AssertionError: expected response to not have header with key 'Content-Type'
请注意,这是上面的EXACT SAME错误消息。他们都说"预期的回应没有"这对我来说似乎不对。
第2部分
只是为了让整个体验更加混乱,测试 键和值 字符串是有效的。我是否误解了#34; have.header"?
pm.test("Content-Type is present", function () {
pm.response.to.have.header("Content-Type →application/json");
});
它返回:
PASS Content-Type is present
然而,对此 的负面测试也是通行证!
pm.test("Content-Type is present", function () {
pm.response.to.not.have.header("Content-Type →application/json");
});
它返回:
PASS Content-Type is present
第3部分
帮助?!的
答案 0 :(得分:0)
我的问题似乎与此错误有关:
https://github.com/postmanlabs/postman-app-support/issues/3690
" pm.response.to.not.be导致后来的断言向后工作。"
答案 1 :(得分:0)
您现在可能已经可以使用此功能了,但是无论如何,这对我有用:
pm.test("Content Type is present", function () {
pm.expect(pm.response).to.have.header("Content-Type");
})