TLDR;我尝试了describe
选项,但无法解决我的问题。
我正在使用mocha测试来使用nemo和硒webdriver运行功能测试,其中套件中的一个测试用例取决于其先前的测试结果。我的要求是,一旦套件中的任何测试用例it
失败,都将使套件describe('1001 User Profile Tests', function () {
before(async function () {
});
it('should login', async function () {
});
it('edit profile details', async function () {
throw new Error('profile details failed to load');
});
it('validate edited profile info', async function () {
});
});
中的所有测试失败。但是其他套件中的测试仍应继续执行。
例如我有两个测试套件
describe('1002 Admin Tests', function () {
before(async function () {
});
it('login as admin', async function () {
});
it('approve user creation', async function () {
});
it('make user a moderator', async function () {
});
});
mocha tests/*.*
当我使用mocha User Profile Tests
✓ should login
1) edit profile details
✓ validate edited profile info
Admin Tests
✓ login as admin
✓ approve user creation
✓ make user a moderator
5 passing (5ms)
1 failing
运行测试时,它将运行所有测试,而其中一个测试失败。
--bail
当我使用mocha tests/*.* --bail
选项时,所有测试(包括其他套件中的测试)也会被跳过。
例如 1001 User Profile Tests
✓ should login
1) edit profile details
1 passing (5ms)
1 failing
1001 User Profile Tests
我只想在一个测试失败的时候跳过套件1002 Admin Tests
中的其余测试。测试是其他套件,例如{{1}}应该运行。