Подтвердить что ты не робот

Как исключить все тесты JUnit4 с определенной категорией, используя Maven surefire?

Я собираюсь аннотировать некоторые из моих тестов JUnit4 с помощью аннотации @Category. Затем я хотел бы исключить, что эта категория тестов работает на моих сборках Maven.

Я вижу из документации Maven, что можно указать категорию тестов на. Я хочу знать, как указать категорию тестов не для запуска.

Спасибо!

4b9b3361

Ответ 1

Вы можете сделать это следующим образом:

Ваш pom.xml должен содержать следующую настройку.

<configuration>
   <excludes>
       <exclude>**/TestCircle.java</exclude>
        <exclude>**/TestSquare.java</exclude>
   </excludes>
</configuration>

Если вам нужна поддержка регулярных выражений, просто используйте

<excludes>
    <exclude>%regex[.*[Cat|Dog].*Test.*]</exclude>
</excludes>

http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

Если вы хотите использовать аннотацию категории, вам необходимо сделать следующее:

@Category(com.myproject.annotations.Exclude)
@Test
public testFoo() {
   ....
}

В вашей конфигурации maven вы можете иметь что-то вроде этого

<configuration>
  <excludedGroups>com.myproject.annotations.Exclude</excludedGroups>
</configuration>