在控制台上写的是非题,试图用邮递员编写测试。如果为假,则测试失败

时间:2020-06-14 06:11:18

标签: javascript postman-testcase

我有包含在控制台中打印为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"]
}

1 个答案:

答案 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/