у меня есть интерфейс вроде этого:Maven безотказное плагин не будет работать тестовые классы аннотированные с JUnit Категория
public interface IntegrationTest {
}
Я настроить отказоустойчивый плагин так:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.14</version>
<configuration>
<groups>acme.test.IntegrationTest</groups>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
</goals>
</execution>
</executions>
</plugin>
Если я после этого создать интеграцию например,
@Category(IntegrationTest.class)
public class ExampleClassIntegrationTest {
@Test
public void slow_and_painful_test() {
Этот тест не запускается.
Если я однако назвать класс по Inclusions and Exclusions of Tests
**/IT*.java
**/*IT.java
**/*ITCase.java
Как так:
@Category(IntegrationTest.class)
public class ExampleClassIT {
@Test
public void slow_and_painful_test() {
тест работает нормально. Почему я должен назвать тест? У меня есть аннотация, когда я использую тег groups-tag? Я что-то упускаю? при использовании JUnit утверждает, что вы можете использовать аннотацию Category на уровне класса.
Чтобы отличить тест единицы измерения и интеграции, просто основывается на соглашении об именах, поэтому нет необходимости использовать группу в JUnit (кроме того, что это не лучший выбор для интеграционных тестов). – khmarbaise
@khmarbaise Я не согласен, Категории - отличный способ организовать использование тестов без блокировки в соглашении об именах. Вот почему JUnit добавил их и почему различные плагины Maven поддерживают их. –
Вы пробовали исключить категорию? Вам нужно ОБА или категорически игнорируется? –