java – 如何运行属于JUnit 4中某个类别的所有测试

JUnit 4.8包含一个很好的新功能,称为“类别”,允许您将特定类型的测试组合在一起。这是非常有用的,例如。具有用于慢速和快速测试的单独测试运行。我知道JUnit 4.8 release notes提到的东西,但想知道如何我可以实际运行所有的测试注释与某个类别。

JUnit 4.8发行说明显示了一个示例套件定义,其中SuiteClasses注释选择特定类别的测试运行,如下所示:

@RunWith(Categories.class)
@IncludeCategory(SlowTests.class)
@SuiteClasses( { A.class, B.class }) // Note that Categories is a kind of Suite
public class SlowTestSuite {
  // Will run A.b and B.c, but not A.a
}

有人知道我怎么可以运行所有的测试在SlowTests类别?看来你必须有SuiteClasses注释…

我发现了一个可能的方式来实现我想要的,但我不认为这是最好的解决方案,因为它依赖于ClassPathSuite库不是JUnit的一部分。

我定义慢测试的测试套件如下:

@RunWith(Categories.class)
@Categories.IncludeCategory(SlowTests.class)
@Suite.SuiteClasses( { AllTests.class })
public class SlowTestSuite {
}

AllTests类定义如下:

@RunWith(ClasspathSuite.class)
public class AllTests {
}

我不得不使用ClassPathSuite类从ClassPathSuite项目这里。它将找到所有带测试的类。

http://stackoverflow.com/questions/2176570/how-to-run-all-tests-belonging-to-a-certain-category-in-junit-4

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:java – 如何运行属于JUnit 4中某个类别的所有测试