我的测试结构如下
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()失败,那么describe()应该被保护。但是第二个测试用例应该运行。
我使用以下方法获得预期结果:
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'){};
}
}
如果没有在每个describe()中明确地将保释分配给true,还有其他方法吗?
答案 0 :(得分:1)
我找到了解决方法,也许会有所帮助。
您可以不是通过文件而是通过我的函数名或测试名来设置条件。
在设置文件中:
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;
}
});