1

我想为 junit 跑步者包括多个类别。

Java 代码

@RunWith(Categories.class)
@IncludeCategory(IMAP.class , POP.class)
@SuiteClasses({MailTestSuites.class})
public class TestSuiteRunner{

}

我只想为这两个类别运行我的测试套件。我有邮件套件的类别,例如“IMAP、POP、SMTP、POP3”。现在,我只想运行“IMAP、POP”类别套件。如何使用junit运行?

4

2 回答 2

1

直到 JUnit 4.11 版本,@IncludeCategory并且@ExcludeCategory只支持一个值。但是,从即将发布的 4.12 版开始,将允许传递多个值。

根据源代码中的文档,您可以编写:

@RunWith(Categories.class)
@IncludeCategory({IMAP.class, POP.class})
@SuiteClasses({MailTestSuites.class})
于 2014-05-14T00:16:38.550 回答
0

不,您不能定义@IncludeCategoryin one的多个值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 {}
于 2013-03-16T12:41:32.913 回答