2012-03-27 104 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) { 
    } 

} 
相關問題