Я обнаружил странную вещь, и мне интересно узнать, почему это происходит. Я использую плагин maven surefire (2.12.4) с Junit 4.11. Когда я хотел использовать аннотацию @Category
, чтобы отключить некоторые тесты. странно то, что он корректно работает только с тестами, которые не расширяют TestCase
. Для теста, который не расширяет TestCase
, я смог поместить аннотацию только в тестовый метод для запуска/отключения, но с другими он отключает все тесты в классе. Пример: Командная строка: mvn test -Dgroups=!testgroups.DisabledTests
запустить только тест B для первого фрагмента:
import static org.junit.Assert.*;
public class DataTest {
@Test
public void testA(){...}
@Test @Category(testgroups.DisabledTests.class)
public void testB(){...}
}
во втором случае с расширением класса TestCase
тесты выполняться не будут.
public class DataTest extends TestCase {
@Test
public void testA(){...}
@Test @Category(testgroups.DisabledTests.class)
public void testB(){...}
}
Почему это происходит?
@Test
. Вы можете удалитьextends TestCase
из своего тестового класса. Кроме того, имя метода тестирования больше не должно начинаться сtest
. Вы можете выбрать любое имя метода. - person Stefan Birkner   schedule 06.01.2016