如何跳到下一个下一个描述摩卡错误?

时间:2016-02-14 11:04:44

标签: javascript mocha

我有一堆describe来测试API的不同部分。在一个部分中,所有测试都依赖于一个测试成功。我想让Mocha运行第一个测试,如果失败,请跳过所有后续测试并为API的下一部分运行下一个测试套件。

第一次失败后,

mocha --bail会完全停止测试,并且不会继续下一部分。

mocha-steps是一个可行的解决方案,但我不想使用任何外部库。此外,它在失败后不会skip步骤,它不会完全打印它们。就像我说的那样,它是一个可行的解决方案,但并不理想。

在vanilla Mocha中实现此行为的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

把你称之为"首先测试"在before块内的describe钩子中,包含所有其他测试:

describe("bunch of related tests", function () {
    before(function () {
        // "first test" here
    });

    it("test 1", function () { ... });
    it("test 2", function () { ... });
    // ...
});

这是"香草摩卡"设置before挂钩中的代码与每个测试之间的依赖关系。如果before挂钩失败,Mocha将报告它,它将跳过describe块中的所有测试。如果你在其他地方有其他测试,它们仍会运行。

答案 1 :(得分:0)

尽管我对接受的答案进行了投票,但是我无法获得在it函数中运行的Mocha before测试。相反,我不得不将第一个测试分为自己的describe并在测试通过的情况下设置一个变量,然后检查before的{​​{1}}中包含所有其他测试的变量。 / p>

describe