2012-03-28 86 views
1

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

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

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

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

+2

你如何运行/执行junit? – oers 2012-03-28 08:36:01

+0

我从我自己的Java代码开始单元测试。因为我需要从CMS系统中的Velocity代码运行它。 (亚军的junit.textui.TestRunner =新的junit.textui.TestRunner(); \t TestResult中的TestResult = junit.textui.TestRunner.run(runner.getTest(MyTestClass.class.getName()));) – Gynnad 2012-03-28 08:42:20

回答

1

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

然后我把测试(在这种情况下AllTests.class)的任务并执行它。和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(); 
    } 
+1

也许你应该澄清这解决方案有点。我可以看到你使用了ant任务,这对任何人都不明显:D – oers 2012-04-04 07:49:44