Использовать Gradle test-retry plugin в определении пользовательской тестовой задачи - PullRequest
1 голос
/ 27 февраля 2020

У меня есть пользовательское определение задачи для запуска заданных c тестовых файлов со специальными настройками для каждого теста. Мое определение задачи выглядит следующим образом:

task retryTest(type: Test) {
    description = 'Dummy Retry Test'
    group = 'verification'
    maxHeapSize = '2048m'
    include '**/*SpecificIntegrationTest.class'
}

Теперь некоторые тесты в этой настройке являются нестабильными, и я пытаюсь повторить их второй раз, например:

plugins {
    id "org.gradle.test-retry" version "1.1.1"
}

task retryTest(type: Test) {
    description = 'Dummy Retry Test'
    group = 'verification'
    maxHeapSize = '2048m'
    include '**/*SpecificIntegrationTest.class'
    test {
        retry {
            maxRetries = 2
        }
    }
}

Я написал тест класс, который всегда терпит неудачу в первый раз, но завершается успешно во второй раз:

public class RetryTest {

    private int execCount = 0;

    @Test
    public void throwException() {
        if (execCount == 0) {
            execCount++;
            throw new NotImplementedException();
        }
    }
}

К сожалению, тест выполняется только один раз, и полный набор тестов не проходит. Я могу успешно выполнить тесты, используя пользовательское правило, как описано в { ссылка }

Есть ли способ использовать плагин test-retry с пользовательскими определениями задач?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...