Как пропустить безошибочные тесты, но запустить отказоустойчивые тесты?

В моем проекте у меня есть верные и отказоустойчивые тесты.

Если я запускаю с mvn clean install -DskipTests, то оба вида тестов пропускаются.

Если я попытаюсь запустить один отказоустойчивый тест, используя -Dit.test=TestName, то сначала запустятся все безошибочные тесты, а затем мой it test.. но поскольку безошибочные тесты занимают много времени, это нехорошо.

В некоторых случаях я хотел бы пропустить надежные тесты, но запустить безопасные ИТ-тесты.


person Christian Schneider    schedule 12.10.2017    source источник


Ответы (1)


Иногда немного сбивает с толку (раздражает?), что по умолчанию -DskipITs=true пропустит Failsafe, а -DskipTests=true пропустит и Surefire, и Failsafe тесты.

В любом случае, вы можете изменить это поведение, настроив подключаемый модуль Surefire для использования другого параметра «пропустить». Например:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12.4</version>
    <configuration>
        <skip>${skipSurefire}</skip>
    </configuration>
</plugin>

Это позволит вам пропустить тесты Surefire, но не тесты Failsafe, вызвав:

mvn clean verify -DskipSurefire=true
person glytching    schedule 12.10.2017
comment
Спасибо. Что помогает. Он даже позволяет делать -DskipTests, чтобы пропустить все тесты. Так что это именно то, что мне было нужно. - person Christian Schneider; 13.10.2017
comment
Действительно? Это та часть, с которой я борюсь. Я могу найти всевозможные ссылки на то, как настроить свойства, чтобы разрешить пропуск отказоустойчивости или уверенности независимо друг от друга, но я пытаюсь сохранить возможность использования -DskipTests, и все, что я пробовал, ломает это. - person Geoffrey Wiseman; 16.02.2019