0

我有包含在控制台中打印为真/假的函数,我需要在邮递员中编写一个测试,以便如果发现错误,则测试失败并可以显示在测试选项卡上。在下面的 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"]
}
4

1 回答 1

0

您可以使用pm.expect(someValue).to.equal(expectedValue)方法来比较该值是否符合您的预期。如果不相同,失败的测试将显示在结果中。

此外,您testFalse应该只是检查,您可以随时 console.log,它不会影响测试......它只会在测试运行时给您一个日志供您查看。

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/

于 2020-06-14T07:04:47.963 回答