2012-07-31 61 views
3

我想向我公司的項目添加一個Ant腳本來運行jUnit測試。這裏是我所擁有的:如何通過Ant顯示jUnit錯誤

<target name="unit-tests"> 
    <junit> 
     <classpath> 
      <pathelement location="${project.libext.dir}/junit-4.1.jar"/> 
     </classpath> 
     <batchtest> 
      <fileset dir="${project.src-test.dir}/my/company/." /> 
     </batchtest> 
    </junit> 
</target> 

該腳本正確抓取我的jUnit測試,但它說有錯誤。但所有的輸出結果會是這樣的:

[junit] Test package.MyTest FAILED 

我想知道它爲什麼失敗。我曾嘗試在junit標記(printsummary,showoutput等)中添加一些屬性,但似乎找不到合適的組合。我設法得到的最好的是:

[junit] Running package.MyTest 
[junit] Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0 sec 

我真的需要完整的堆棧跟蹤等作爲測試運行正常,當我運行方式通過Eclipse> JUnit測試。

任何人都知道如何使堆棧跟蹤打印?

回答

6

找到了答案。需要添加一個格式化程序。

<target name="unit-tests"> 
    <junit> 
     <classpath> 
      <pathelement location="${project.libext.dir}/junit-4.1.jar"/> 
     </classpath> 
     <formatter type="plain" usefile="false" /> 
     <batchtest> 
      <fileset dir="${project.src-test.dir}/my/company/." /> 
     </batchtest> 
    </junit> 
</target> 
0

無法從Ant輸出AFAIK中的測試打印完整堆棧跟蹤;它嵌入在JUnit報告文件中。您可以單獨瀏覽,或者如果您使用持續集成服務器(如Jenkins或CruiseControl)來運行構建,則可以設置一個可鏈接到測試報告的插件。

+0

如何確定jUnit報告文件的位置? – 2012-07-31 18:19:46

+0

我猜'batchtest'標籤上的'todir'屬性,但似乎沒有創建任何東西。 – 2012-07-31 18:40:41