获取JUnitTest的结果(errorCount,failureCount..)



我了解了如何使用Ant API运行JUnit测试并创建结果的XML。

String pathToReports = "/tmp/junitreports";
Project project = new Project();
JUnitTest test = null;
try 
{
    new File(pathToReports).mkdir();
    JUnitTask task = new JUnitTask();
    project.setProperty("java.io.tmpdir",pathToReports);
    task.setProject(project);
    FormatterElement.TypeAttribute type = new FormatterElement.TypeAttribute();
    type.setValue("xml");
    FormatterElement formater = new FormatterElement();   
    formater.setType(type);
    task.addFormatter(formater);
    test = new JUnitTest(TestClass.class.getName());
    test.setTodir(new File(pathToReports));
    task.addTest(test); 
    task.execute();
} 
...

测试类别:

public class TestClass
{
    @Test
    public void test()
    {
        fail("failed");
    }
}

代码运行良好。XML已经创建,我可以看到测试"失败"了。

现在我的问题是:有没有什么方法也可以通过程序获得测试结果?我希望以某种方式获得JUnitTest对象的更新版本,在那里我可以调用方法"failureCount()"。

任务执行后test.failurecount()当然会返回0。解析XML对我来说似乎很奇怪,因为失败的数量应该已经存储在某个地方了。

每次测试失败时,都可以有一个变量(int failedTests)增量。您可以使用TestWatcher规则来完成此操作。

在所有测试运行后,你可以用打印出来(或者用它做任何你想做的事情…)

@AfterClass
public static void printFailedTestsCount() {
    System.out.println(failedTests + " tests failed.");
}

相关内容

  • 没有找到相关文章

最新更新