【发布时间】:2021-05-27 14:33:09
【问题描述】:
我想检查请求是否有一个字符串,然后响应必须在邮递员中包含这个字符串。我写了一个这样的测试,但它对我不起作用。我不确定我是否可以在有条件的一项测试中使用多个 pm.expect。我的代码是
pm.test("test",function(){
var hasA = data.hasOwnProperty('A');
var hasB = data.hasOwnProperty('B');
if(hasA === true){
pm.expect(response.A).to.eql(data.A);
}
if(hasB === true){
pm.expect(response.B).to.eql(data.B);
}});
请求可以同时包含 A 和 B,所以我不能使用 if..else 语句。当我运行此测试时,如果 hasA 标志为真,那么即使 hasB 选项为真,代码也不会进入第二次。我该如何处理这个问题。有人可以帮忙吗?
【问题讨论】:
-
你怎么我没有转到下一个?
-
我不明白你的意思,但我明白“你怎么说我不去下一个?”从你的问题。当两个布尔值都为真时,我在每个 if 和第二个 if 中添加了一个日志,如果日志不写入控制台。抱歉,如果我误解了您的问题。
-
那么在这种情况下,期望条件通过还是失败? Expect 是一个硬断言,因此如果除失败之外它不会转到下一行
-
即使 A 失败,我也想检查 B。那我该怎么做呢?有没有办法做到这一点?也许它没有必要,但我想知道有什么办法。谢谢你的帮助。
标签: javascript postman