即使断言使用chaijs失败,如何运行测试用例

时间:2017-05-04 10:27:11

标签: mocha chai assertions

我只是好奇地知道如何运行测试用例,即使断言在测试脚本中使用mocha& chai js。

var arr = ["2017-05-04","04-05-2017","05-2017-04"];
function isDate(date) {
var regEx = /^\d{4}-\d{2}-\d{2}$/;
return date.match(regEx) != null;
}
for(var i=0;i<arr.length;i++){
 assert.strictEqual(isDate(arr[i]), true);
}

我希望即使任何断言失败也要执行测试用例。

1 个答案:

答案 0 :(得分:1)

当一个断言在测试中失败时,会抛出异常,并且在抛出异常之后无法继续执行相同的测试

在您的情况下,您可以做的是让每个测试处理一个来自阵列的案例。这样,每个案例都作为单独的测试处理,一个测试的失败对其他测试没有影响。例如:

var chai = require("chai");

var assert = chai.assert;

var arr = ["2017-05-04","04-05-2017","05-2017-04"];
function isDate(date) {
    var regEx = /^\d{4}-\d{2}-\d{2}$/;
    return date.match(regEx) != null;
}

describe("date tests", function () {
    function makeTest(testCase) {
        it(testCase, function () {
            assert.strictEqual(isDate(testCase), true);
        });
    }

    for(var i=0;i<arr.length;i++){
        makeTest(arr[i]);
    }
});