2012-03-27 103 views
1

是否可以从没有Ant或Maven的JUnit创建报告?因为我用velocitycode调用测试,而velocitycode调用方法。并且该方法调用所有测试。所以我可以从它得到响应,失败/错误/运行等。但我想创建一个报告。或者我需要自己创建html的东西?Junit在没有ant/maven的情况下创建报告

我在Java中创建了方法和测试方法,因此除了调用之外,我会尽全力使​​用Java,这就是速度代码。

Velocitycode:

$ {} custom.test

Java代码:

公共无效getTest(){
的junit.textui.TestRunner亚军=新的JUnit .textui.TestRunner();测试结果testresult = Junit.textui.TestRunner.run(runner.getTest(MyTestClass.class.getName()));
}

+0

当你说'电话velocitycode'你能更具体一点吗?你的意思是说有一个来自速度的测试跑步者?你能更清楚一些,并请发布一些示例代码吗? – 2012-03-27 17:50:20

+0

我加了代码。使用velocitycode我调用Java中的getTest方法。 getTest方法运行测试 – Gynnad 2012-03-28 08:47:39

回答

0

不这样认为。但是,您可能可以将ant用作库而不是工具,并使用该工具用于生成这些报告的相同代码。

+0

我不明白?我在代码中运行JUnit测试,但是呢?我如何使用'Ant Library'在代码中创建报告? – Gynnad 2012-03-28 06:40:29

+0

如果我正确理解你的问题,你正在寻找一个库,它可以以某种方式从JUnit获取输出并对其进行格式化(是吗?)我的想法是,因为Ant可以做到这一点,并且Ant可以作为jar,你可以利用Ant所做的相同的类来实现你正在寻找的东西。看看这个类,例如:http://www.jajakarta.org/ant/ant-1.6.1/docs/en/manual/api/org/apache/tools/ant/taskdefs/optional/junit/ SummaryJUnitResultFormatter.html。你必须检查蚂蚁的来源,看看这个类是如何使用的。 – 2012-03-28 11:36:26

+0

是的你是对的,但我在图书馆找不到如何创建报告。你有任何例子或教程或类似的东西? – Gynnad 2012-03-29 11:25:53

1

您将需要蚂蚁库。但是通过此代码,您可以创建一个XML报告并在其他计划中使用它。比如詹金斯。

public static void getTest(){ 
    String pathToReports = "C:\\path\\to\\the\\Reports"; 
    Project project = new Project(); 

    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); 

     JUnitTest test = new JUnitTest(YOURTEST.class.getName()); 
     test.setTodir(new File(pathToReports)); 

     task.addTest(test);   
     task.execute(); 
    } catch (Exception e) { 
    } 

} 
相关问题