Junit 3,从测试中获取数据

时间:2012-03-28 08:26:08

标签: junit junit3

我想从我的测试中在GUI中显示一些数据。我正在使用JUnit 3,因为我使用的其他应用程序正在使用那个。因此,如果我使用JUnit 4,它将崩溃。我知道JUnit 4中的可能性要大得多。但是我不能用它,所以我有一些问题:

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

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

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

1 个答案:

答案 0 :(得分:1)

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

然后我将Test(在本例中为AllTests.class)放入Task并执行它。和Voila我可以在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();
    }