如果某些条件失败,有没有办法跳过套件中的所有测试?即)如果网页未打开,则运行其余测试没有意义,因为它们都依赖于在运行任何测试之前打开的网页。
我们可以使用 pending() 跳过当前测试,但是如果所有其他测试都依赖于 checkCondition 为真,有没有办法立即跳过套件中的所有测试或下面的测试?
我尝试在 beforeAll 块中添加 pending(),以尝试跳过所有测试,因为 beforeAll 在任何东西之前运行。
请帮忙!我正在使用 WebdriverIO 和 Jasmine。谢谢!
let checkCondition = false;
describe(`My Test Suite`, () => {
beforeAll(async () => {
// EDIT - returnBoolean() is another method that logs into the
// page and returns true or false
let setCheckCondition = returnBoolean();
if (setCheckCondition) {
checkCondition = true;
console.log(`in true block`);
} else {
console.log('Skip tests below'); // HELP <-- since checkCondition is false, all tests below should fail
pending();
}
});
it(`Test 1`, () => {
if (checkCondition != undefined) {
console.log("checkCOndition is defined")
} else {
pending();
}
});
it(`Test 2`, () => {
if (checkCondition) {
// check
} else {
console.log('Skip this test');
pending();
}
});
it(`Test 3`, () => {
console.log("skip this test too")
});
});