单元测试 – 对JUnit测试进行分组

有什么办法在JUnit中分组测试,以便我可以只运行一些组?

或者可以注释一些测试,然后全局禁用它们?

我使用JUnit 4,我不能使用TestNG。

编辑:@RunWith和@SuiteClasses工作伟大。但是是否可以像这样注释测试类中的一些测试?或者我必须注释整个测试类吗?

你想在测试类中对测试进行分组还是要对测试类进行分组?我会假设后者。

这取决于你如何运行你的测试。如果你运行它们由Maven,可以指定你想要包括什么测试。参见the Maven surefire documentation

更一般地,虽然,我做的是,我有一个测试套件树。 JUnit 4中的测试套件看起来像:

 @RunWith(Suite.class)
 @SuiteClasses(SomeUnitTest1.class, SomeUnitTest2.class)
 public class UnitTestsSuite {
 }

所以,也许我有一个FunctionTestsSuite和一个UnitTestsSuite,然后一个AllTestsSuite包括其他两个。如果你在Eclipse中运行它们,你会得到一个非常好的层次视图。

这种方法的问题是,如果你想以多种不同的方式切片测试,这是一种繁琐。但它仍然是可能的(你可以例如有一套基于模块切片,然后另一种切片的测试类型)。

翻译自:https://stackoverflow.com/questions/817135/grouping-junit-tests

转载注明原文:单元测试 – 对JUnit测试进行分组