Перейти к содержимому

Unstop

Регистрация: 23 окт 2011
Offline Активность: 11 ноя 2022 12:42
-----

Мои сообщения

В теме: Перезапуск упавших тестов IRetryAnalyzer в связке с dataprovider

15 января 2016 - 15:15

мне кажется вам надо в onTestSuccess устанавливать retryCount в 0.

по завершению теста выполняется Invoker.class (testNG)

в котором есть условие 

IRetryAnalyzer retryAnalyzer = testMethod.getRetryAnalyzer();

boolean willRetry = retryAnalyzer != null && status == ITestResult.FAILURE && failure.instances != null && retryAnalyzer.retry(testResult);

 

которое, как я понял вызывает RetryAnalyzer.retry только при фейле теста, следовательно при Success он туда (RetryAnalyzer.class) даже не будет заходить

 

зы. значит счетчик тут не причем

 

если капнуть глубже... то после фейла теста( в этом же файте invoker.class) происходит "failure.count++"

т.е. после фела теста "failure.count=1"(изначально 0) - что скорее всего и говорит запускать тесты еще раз

и при прохождении теста со статусом success мы имеем failure.count=1 (он не сбрасывается на 0), а следовательно пройденный тест запускается по новой... вот как эту переменную бы перезаписать/сбросить на 0