1

我想在我的 GUI 中显示我的测试中的一些数据。我正在使用 JUnit 3,因为我使用的其他应用程序正在使用该应用程序。所以如果我使用 JUnit 4 它会崩溃。我知道 JUnit 4 中的可能性更大更好。但我不能使用它,所以我有一些问题:

我知道您可以从 JUnit 3 测试中获得一些数据,但有些数据我找不到: - 如何获得每个/所有测试的运行时间?- 如何获取每个失败的测试的测试名称?- 我怎样才能得到正确的每个测试的测试名称?

我查看了这个 API,但我可以找到它:http ://www.junit.org/junit/javadoc/3.8.1/

我使用 JUnit 3.8.2,但找不到那个 API。

4

1 回答 1

1

我使用 ant.jar 库从 Junit 测试创建报告。首先,我设置任务并指定我想要测试的属性。然后我创建了我设置为 XML 的格式化程序,所以我得到了 JUnit 测试的 XML 输出。

然后我将测试(在本例中为 AllTests.class)放入任务并执行它。瞧,我可以在我在 test.setTodir(.....) 中设置的目录中找到报告

Project project = new Project();
    JUnitTask task;
    try {
        task = new JUnitTask();
        project.setProperty("java.io.tmpdir","C:\\Reports\\XMLS"); //set temporary directory
        task.setProject(project);
        JUnitTask.SummaryAttribute sa = new JUnitTask.SummaryAttribute();
        sa.setValue("withOutAndErr");
        task.setFork(false);
        task.setPrintsummary(sa);
        Logger.info(getClass(), task.toString());
        FormatterElement formater = new FormatterElement();         
        FormatterElement.TypeAttribute type = new FormatterElement.TypeAttribute();
        type.setValue("xml");
        formater.setType(type);
        task.addFormatter(formater);
        JUnitTest test = new JUnitTest(AllTests.class.getName()); 
        test.setTodir(new File("C:\\Reports\\XMLS"));
        task.addTest(test);         
        task.execute();
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
于 2012-04-04T07:38:55.983 回答