我有一堆描述
来测试API的不同部分。在某一部分中,所有测试都依赖于一项测试的成功。我想让 Mocha 运行第一个测试,如果失败,则跳过所有后续测试并为 API 的下一部分运行下一个测试套件。
mocha --bail
将在第一次失败后完全停止测试,并且不会继续下一部分。
mocha-steps
是一个可行的解决方案,但我不喜欢使用任何外部库。此外,它不会在失败后跳过
步骤,也不会完全打印它们。正如我所说,这是一个可行的解决方案,但并不理想。
在 vanilla Mocha 中实现此行为的最佳方法是什么?
最佳答案
将您所谓的“第一个测试”放在包含所有其他测试的 describe
block 内的 before
Hook 中:
describe("bunch of related tests", function () {
before(function () {
// "first test" here
});
it("test 1", function () { ... });
it("test 2", function () { ... });
// ...
});
这是“vanilla Mocha”中在 before
Hook 中的代码与每个测试之间设置依赖关系的正确方法。如果 before
钩子(Hook)失败,Mocha 会报告它,并且会跳过 describe
block 中的所有测试。如果您在其他地方有其他测试,它们仍然会运行。
关于javascript - 如何跳到下一个描述 Mocha 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35391008/