pDi*_*ler 5 java junit parameterized categories
我已经参数化了junit测试,我想将测试函数分组,以便在一个测试套件中运行一个组,而在另一个测试套件中运行另一个组.
我试过的是这个:
识别TestClass:
@RunWith(Parameterized.class)
public class TestClass {
private int test;
public TestClass(int test){
this.test = test;
}
@Parameters
public static Collection<Object[]> data(){
return Arrays.asList(new Object[][]{{1},{1}});
}
@Test
@Category(A.class)
public void aTest(){
assertEquals(1, test);
}
@Test
@Category(B.class)
public void bTest(){
assertEquals(1, test);
}
}
Run Code Online (Sandbox Code Playgroud)
测试套件:
@SuiteClasses({TestClass.class})
@RunWith(Categories.class)
@IncludeCategory(A.class)
public class Suite {
}
Run Code Online (Sandbox Code Playgroud)
如果我注释测试类,而不是方法,它可以工作.但是我想分类函数而不是测试类,当我尝试时,我得到以下错误:
Category annotations on Parameterized classes are not supported on individual methods
Run Code Online (Sandbox Code Playgroud)
如何才能使其工作(无需切换到TestNG或其他测试框架)?
您可以创建自己的 org.junit.runner.Runner 来执行此操作。它并不像看起来那么难。使用您自己的运行程序,您可以构建自己的测试用例树,JUnit 将相应地显示它。在您的情况下,您的树结构将反映类别注释。
| 归档时间: |
|
| 查看次数: |
1606 次 |
| 最近记录: |