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, позволяя указать, как долго разрешается запуск теста до сбоя:

https://jasmine.github.io/api/3.5/global.html

      describe("test suite", ()=>{
    it("test spec",()=>{
       console.log('inside test')
       fail('testing retry')
       }, jasmine.DEFAULT_TIMEOUT_INTERVAL, 3)
})

Вам нужно добавить интервал тайм-аута и количество повторных попыток после него.

Другие вопросы по тегам