我想为junit runner添加多个类别。
Java代码
@RunWith(Categories.class)
@IncludeCategory(IMAP.class , POP.class)
@SuiteClasses({MailTestSuites.class})
public class TestSuiteRunner{
}
我想仅为这两个类别运行我的测试套件。我有邮件套件的类别,如“IMAP,POP,SMTP,POP3”。现在,我只想运行“IMAP,POP”类别套件。 我怎么能用junit运行?
答案 0 :(得分:1)
最高版本JUnit 4.11,@IncludeCategory
和@ExcludeCategory
仅支持一个值。但是,从即将发布的版本4.12开始,将允许传递多个值。
根据documentation in the source code,您可以写:
@RunWith(Categories.class)
@IncludeCategory({IMAP.class, POP.class})
@SuiteClasses({MailTestSuites.class})
答案 1 :(得分:0)
不,您无法在一个@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 {}