【问题标题】:How to include multiple categories in junit4?如何在junit4中包含多个类别?
【发布时间】:2013-03-03 08:16:24
【问题描述】:

我想为 junit 跑步者添加多个类别。

Java 代码

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

}

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

【问题讨论】:

    标签: junit junit4


    【解决方案1】:

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

    根据documentation in the source code,可以接着写:

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

    【讨论】:

      【解决方案2】:

      不,您不能在一个 Categories 中定义多个 @IncludeCategory 值。

      我建议您使用多个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 {}
      

      【讨论】:

      • 如何运行多个类别?
      猜你喜欢
      • 1970-01-01
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      • 2018-01-17
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      相关资源
      最近更新 更多