我有包含在控制台中打印为true / false的函数,我需要用邮递员编写一个测试,以便如果发现为false,则测试失败,并且可以在“测试”选项卡上显示。在下面的const testfalse =中,在控制台中给出值true或false。但是,如果发现错误,如果资金错误,我需要进行测试以失败。我已经尝试过if条件,它不会记录任何东西
// Getting the category name and name key
var categname= pm.environment.get("categoryName");
console.log(categname)
var categnamekey= pm.environment.get("categorynameKey")
console.log(categnamekey)
var arr=JSON.parse(responseBody);
function contains(arr, key, val) {
for (var i = 0; i < arr.length; i++) {
if(arr[i][key] === val)
return true;
}
return false;
}
// To verify if value present or not which prints true or false
const testfalse=console.log(contains(arr, "name", categname));
console.log(contains(arr,"nameKey",categnamekey));
if(testfalse=='false'){
tests["fail"]
}else {
tests["success"]
}
答案 0 :(得分:0)
您可以使用pm.expect(someValue).to.equal(expectedValue)
方法来比较该值是否是您期望的值。如果不一致,则测试失败将显示在结果中。
此外,您的testFalse
应该只是检查,您可以随时console.log,它不会影响测试...它只会给您提供日志,以便在测试运行时进行检查。 / p>
const testfalse = contains(arr, "name", categname);
console.log('Category found: ' + testfalse);
//rest of code here
//Test will either pass or fail after this line and reflect on test tab
pm.expect(testfalse).to.equal(true); //maybe rename testPass
https://learning.postman.com/docs/postman/scripts/test-scripts/