2016-02-14 39 views
1

我有一堆describe s测试API的不同部分。在一节中,所有测试都依赖于一次测试成功。我想让Mocha运行第一个测试,如果失败,请跳过以下所有测试并运行下一部分API的下一个测试套件。如何跳到下一个描述摩卡错误?

mocha --bail将在第一次失败后完全停止测试,并且不会继续到下一部分。

mocha-steps是一个可行的解决方案,但我更喜欢不使用任何外部库。另外,它在故障发生后不会执行skip步,它不会完全打印它们。就像我说的那样,这是一个可行的解决方案,但并不理想。

在香草摩卡中实现这种行为的最佳方式是什么?

回答

1

把你叫你的“第一次测试”在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块中的所有测试。如果你在其他地方有其他测试,他们仍然会运行。