如何跳到下一个下一个描述摩卡中的错误
How to skip to next next describe on error in Mocha?
我有一堆describe
来测试API的不同部分。在一个部分中,所有测试都依赖于一个测试成功。我想让 Mocha 运行第一个测试,如果失败,请跳过所有后续测试并为 API 的下一部分运行下一个测试套件。
mocha --bail
将在第一次失败后完全停止测试,并且不会继续下一部分。
mocha-steps
是一个可行的解决方案,但我不喜欢使用任何外部库。此外,它不会在失败后skip
步骤,也不会完全打印它们。就像我说的,这是一个可行的解决方案,但并不理想。
在香草摩卡中实现此行为的最佳方法是什么?
将你所谓的"第一个测试"放在一个包含所有其他测试的describe
块内的before
钩中:
describe("bunch of related tests", function () {
before(function () {
// "first test" here
});
it("test 1", function () { ... });
it("test 2", function () { ... });
// ...
});
这是"vanilla Mocha"中设置before
钩子中的代码与每个测试之间的依赖关系的正确方法。如果before
钩失败,Mocha 会报告它,它会跳过describe
块中的所有测试。如果您在其他地方有其他测试,它们仍将运行。
虽然我对接受的答案投了赞成票,但我无法让 Mocha it
测试在 before
函数中运行。相反,我必须将第一个测试分成它自己的describe
,如果测试通过,则设置一个变量,然后在包含所有其他测试的describe
before
中检查变量。
let passed = false
describe('first test', function() {
it('run the first test', function(done) {
if (theTestPassed)
passed = true
done()
})
})
describe('rest of the tests', function() {
before(function() {
if (!passed)
throw new Error('skip rest of the tests')
});
it('second test', ...)
it('third test', ...)
});
相关文章:
- 滚动到容器中的下一个元素-几乎到了
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- AngularJS&JSON-从Previous&下一个对象
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 快速:在错误处理程序中调用下一个
- 尝试运行下一个上一个按钮以播放列表媒体播放器代码中的视频,出现错误
- 下一个节点.js中的刻度错误
- 画布上下文“bezierCurveTo”在Chrome 16+ / Safari 5+下有一个错误
- 如何跳到下一个下一个描述摩卡中的错误
- 分页“上一个”和“下一个”错误
- 如果当前输入有错误或警告,则禁用所有下一个表单输入字段
- 调用原型的重写方法,然后调用下一个原型的重写方法错误
- 使用下一个箭头时,在jqueryui的日期选择器中返回了错误的月份值
- Lexer错误:意外的下一个字符(属性名称中的波浪号~)
- 承诺:转到下一个错误函数
- Node.js表示下一个错误处理程序
- 为什么下划线的 _.isUndefined(变量) 给出一个错误,即变量未定义
- 我怎么能添加selected=selected保存我的下拉菜单,如果有一个错误在我的形式