NoneWdio +jasmine reRun/ повторить одиночный тест спецификация it('',()=>{},3) не работает
Я использую "wdio" с тестовой платформой "jasmine" и пытаюсь повторно запустить одну тестовую спецификацию, следуя https://webdriver.io/docs/retry.html но повторных попыток не происходит. Я запускаю следующий код, используя wdio sync runner, как это - ./node_modules/wdio wdio.conf Он выполняет тест только один раз.
describe("test suite", ()=>{
it("test spec",()=>{
console.log('inside test')
fail('testing retry')
},3)
})
Я ожидаю, что тест должен выполняться 1+3 раза. Но он выполняется только один раз. Повтор не происходит. Я что-то упускаю здесь очевидное?
3 ответа
Поведение WDIO + Jasmine при повторной попытке немного странно, но это зависит от ожиданий вашего теста. Следующие будут повторять тест три раза.
it("Should retry", function() {
throw "retry this test";
}, 3);
Однако после добавления ошибочного ожидания (или fail() в вашем случае) он выйдет без повторной попытки.
it("Won't retry", function() {
expect(true).toBe(false);
}, 3);
Это не похоже на поведение, например, для фреймворка, такого как Mocha, поэтому, возможно, решение состоит в изменении фреймворка.
Я считаю, что ссылка неверна относительно того, какой третий параметр у Жасмин it()
функция означает.
Согласно официальным документам, это число timeout
, позволяя указать, как долго разрешается запуск теста до сбоя:
describe("test suite", ()=>{
it("test spec",()=>{
console.log('inside test')
fail('testing retry')
}, jasmine.DEFAULT_TIMEOUT_INTERVAL, 3)
})
Вам нужно добавить интервал тайм-аута и количество повторных попыток после него.