Junit4:运行特定测试方法的测试套件

6

有没有一种方法可以创建一套测试方法,而不仅仅是测试类?

我想组合一个测试套件,只运行来自测试类的特定测试方法。从我的有限的JUnit知识和搜索网络上看,我没有找到这样做的方法。


只是一些小而愚蠢的想法:创建一个新类并粘贴你想从各种测试中运行的重要方法,虽然这完全是假的,但它应该对你有用... - Xorty
1个回答

8

使用JUnit4中的分类功能。

例如:如果期望在ATestBTest中分散的某些方法都能被执行:

//Define Categories
@RunWith(Categories.class)  
@IncludeCategory(NeedTest.class)  
@SuiteClasses({ ATest.class,  BTest.class })  
class MySuite{
...
}

接下来,在 ATestBTest 中,将您的预期方法注释为:

@Test
@Category(NeedTest.class)  
public void test()

当你运行MySuite时,只有使用@Category(NeedTest.class)注释的方法将被执行。当然,你可以创建多个测试类别。 ps:NeedTest.class只是一个标记类,可以是任何类。

嗨,盛远,如果我们使用自定义运行程序,那么除非我们在自己的运行程序中实现此功能,否则此功能将对我们不可用,对吗? - Tim
如何实际运行MySuite类? - java123999
与TestNg测试套件XML文件相比,这真的很不方便。为什么JUnit不允许我们选择未注释测试方法的方法呢?这种不便在JUnit 5中有没有得到解决? - MasterJoe

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接