Junit4 Test Suite - 从测试套件中动态循环和添加测试用例

时间:2013-03-28 09:28:32

标签: java junit junit4 testcase

我有一个包含许多模型的XML文件。 我在Test Suite中解析这个XML文件并阅读每个模型。 对于每个模型,我想执行特定的测试用例列表。

这意味着,在测试套件的FOR循环中,我必须动态添加测试用例。


public static TestSuite suite() {
TestSuite suite = new TestSuite();
for(condtion){
    if(model1){
         suite.addTest(new JUnit4TestAdapter(TestCase1.class));
         suite.addTest(new JUnit4TestAdapter(TestCase2.class));
     }
     elseif(model2){
         suite.addTest(new JUnit4TestAdapter(TestCase3.class));
         suite.addTest(new JUnit4TestAdapter(TestCase4.class));
     }
  }
return suite;
}

但是在这种情况下,只运行XML中最后一个模型的测试用例。它不是动态添加测试用例并为所有模型运​​行它。

然后我尝试了

JUnitCore.runClasses(TestScoopixModelLoader.class);

在for循环中

。在这种情况下,测试用例是动态运行的。 但是我没有在日食中获得那种视觉效果。(即成功的绿色条,失败的红色条)。这种视觉效果不适用于Junit TEST RUNNER CLASS

如果有人遇到过这类问题,请建议我解决。

1 个答案:

答案 0 :(得分:0)

添加你自己的监听器并让它打印结果(在文本文件,sysout等中)监听器api: http://junit.sourceforge.net/javadoc/org/junit/runner/notification/RunListener.html