Javascript Mocha:如何在嵌套的descripe()中只保留失败的descripe()?
我的测试结构如下Javascript Mocha:如何在嵌套的descripe()中只保留失败的descripe()?,javascript,unit-testing,mocha.js,Javascript,Unit Testing,Mocha.js,我的测试结构如下 describe('Test Suite'){ describe('First Test Case'){ it('1st step'){}; it('2nd step'){}; it('3rd step'){}; } describe('Second Test Case'){ it('1st step'){}; it('2nd step'){}; it('
describe('Test Suite'){
describe('First Test Case'){
it('1st step'){};
it('2nd step'){};
it('3rd step'){};
}
describe('Second Test Case'){
it('1st step'){};
it('2nd step'){};
it('3rd step'){};
}
}
我想使用--bail这样,如果在第一个测试用例中,任何it()失败,那么descripe()应该被bail。但是第二个测试用例应该运行
我使用以下方法获得预期结果:
describe('Test Suite'){
this.bail(false)
describe('First Test Case'){
this.bail(true);
it('1st step'){};
it('2nd step'){};
it('3rd step'){};
}
describe('Second Test Case'){
this.bail(true);
it('1st step'){};
it('2nd step'){};
it('3rd step'){};
}
}
在每个descripe()中,是否有其他方法可以不显式地将bail指定为true?我找到了解决方法,可能会有所帮助 您可以设置您的条件,而不是通过文件,而是我的函数名或测试名 在安装文件中:
const FAILED_TESTS = {};
// Skip test if first test from folder failed
beforeEach(function() {
if (FAILED_TESTS[this.currentTest.file]) {
this.skip();
}
});
afterEach(function() {
if (this.currentTest.state === "failed") {
FAILED_TESTS[this.currentTest.file] = true;
}
});
我很确定没有。