maven -Dsurefire.rerunFailingTestsCount с параметризованными тестами
Я хочу повторить неудачные тесты с Maven. Я использую surefire.rerunFailingTestsCount для этого:
mvn '-Dtest=LoginTest#loginAsValidUser' '-Dsurefire.rerunFailingTestsCount=1'clean test
Тем не менее, после неудачных тестов они не обнаруживаются в junit при попытке перезапуска:
org.junit.runner.manipulation.Filter.initializationError(org.junit.runner.manipulation.Filter)
Run 1: Filter.initializationError » No tests found matching Method loginAsValidUser[...
Run 2: Filter.initializationError » No tests found matching Method loginAsValidUser[...
Run 3: Filter.initializationError » No tests found matching Method loginAsValidUser[...
В соответствии с документацией maven, метод тестирования также может быть указан с помощью [*], поэтому я попытался
mvn '-Dtest=LoginTest#loginAsValidUser[*]' -Dsurefire.rerunFailingTestsCount=1 clean test
и различные варианты указания имени класса / метода тестирования, но результат один и тот же. Есть идеи, что вызывает это?
Версия плагина maven-surefire - 2.19.1, версия junit - 4.12, версия junitparams - 1.0.5.
Тестовый класс выглядит так:
@RunWith(JUnitParamsRunner.class)
public class LoginTest {
@Test
@FileParameters(value = "src/main/resources/login_data.csv")
@TestCaseName("{method}[{index}]")
public void loginAsValidUser(String username, String password) {
//test
}
}
ОБНОВЛЕНИЕ: я нашел верный отчет об ошибке для подобной ситуации, но это было исправлено. Я взял пример кода, который продемонстрировал ошибку и запустил ее, работал хорошо. Затем я изменил runner на junitparams runner и получил ту же ошибку, описанную выше. Я думаю, что это может быть ошибка с бегуном, поэтому я открыл вопрос на их GitHub.