我想从我的测试中在GUI中显示一些数据。我正在使用JUnit 3,因为我使用的其他应用程序正在使用那个。因此,如果我使用JUnit 4,它将崩溃。我知道JUnit 4中的可能性要大得多。但是我不能用它,所以我有一些问题:
我知道你可以从JUnit 3测试中获取一些数据,但是我找不到一些数据: - 如何获得每个/所有测试的运行时间? - 如何获得每个测试的测试名称? - 我如何获得每个测试的测试名称是正确的?
我查看了此API,但我可以找到它:http://www.junit.org/junit/javadoc/3.8.1/
我使用JUnit 3.8.2,但找不到该API。
答案 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();
}