Как включить несколько категорий в junit4?
Я хочу включить несколько категорий для бегуна junit.
Код Java
@RunWith(Categories.class)
@IncludeCategory(IMAP.class , POP.class)
@SuiteClasses({MailTestSuites.class})
public class TestSuiteRunner{
}
Я хочу запустить свой тестовый набор только для этих двух категорий. У меня есть категории для почтового набора, такие как "IMAP, POP, SMTP, POP3". Теперь я хочу запускать только категории "IMAP, POP".
Как запустить junit?
Ответы
Ответ 1
Нет, вы не можете определить несколько значений @IncludeCategory
в одном Categories
.
Я рекомендую вам использовать несколько Categories
для запуска тестовых примеров. (Отдельные тестовые примеры IMAP и POP)
//IMAP tests
@RunWith(Categories.class)
@IncludeCategory(IMAP.class)
@SuiteClasses({MailTestSuites1.class})
public class TestSuiteRunner1{}
//POP tests
@RunWith(Categories.class)
@IncludeCategory(POP.class)
@SuiteClasses({MailTestSuites2.class})
public class TestSuiteRunner2{}
//Merge into one Test
@RunWith(Suite.class)
@Suite.SuiteClasses({TestSuiteRunner1.class,
TestSuiteRunner2.class})
public class AllTests {}
Ответ 2
До версии JUnit 4.11, @IncludeCategory
и @ExcludeCategory
поддерживается только одно значение. Однако, начиная с предстоящего выпуска 4.12, ему будет разрешено передавать несколько значений.
В соответствии с документацией в исходном коде вы можете написать:
@RunWith(Categories.class)
@IncludeCategory({IMAP.class, POP.class})
@SuiteClasses({MailTestSuites.class})