0

我是 JUNIT 4 的新手,我想编写代码,例如测试套件从 excelsheet 获取输入并基于输入测试套件调用不同的测试用例。根据 JUNIT 4,我们可以在其中定义所有测试用例,@SuiteClasses({ ParameterSampleTest.class,SampleJUnitTest.class })但这是我们预定义测试用例的时候。但是在这里我想使用根据输入做出决定的custome JUNIT runner?有人可以帮助解决这个问题吗?

@RunWith(Suite.class) 
 public class AllTests {
  public static TestSuite suite() {
        TestSuite suite = new TestSuite();
        suite.addTest(new JUnit4TestAdapter(ParameterSampleTest.class));
        suite.addTest(new JUnit4TestAdapter(SampleJUnitTest.class));
        return suite;
  }
}

谢谢,普里扬克·沙阿

4

2 回答 2

0

这应该工作...

@RunWith(Suite.class) 
public class AllTests {
public static TestSuite suite() {
        TestSuite suite = new TestSuite();
        //if(your logic based decision) {
            suite.addTest(new JUnit4TestAdapter(ParameterSampleTest.class));
        //}
        suite.addTest(new JUnit4TestAdapter(SampleJUnitTest.class));
        return suite;
  }
}
于 2012-09-10T10:35:57.547 回答
0

您可以实现自己的测试运行器。这并不难。您只需要创建扩展org.junit.runner.Runner并实现其getDescription()run()方法的类。运行者可以根据自己的业务逻辑找到子案例并运行。

于 2012-09-10T10:38:18.057 回答