2011-11-22 50 views
3

您好:我有一個ANT構建失敗,並在失敗時停止。我希望構建(而不是停止單個單元測試的失敗),完成所有單元測試,以便我可以知道哪些通過/失敗。如何在不停止螞蟻的情況下「失敗」一個構建?

然後(當然),我想構建到最終失敗,打印出失敗的測試數。

奇怪的是,看起來「haltonfailure」確實會「停止」構建:它實際上會改變Jenkins解釋的成功/失敗結果!

我想,如果可能的話,使用自定義的「失敗」的標籤,以明確這一點在我的構建腳本,即是這樣的:

<fail message="Some test(s) failed !"> 
     <condition> 
     <not> 
      <testFailures>0</testFailures> 
     </not> 
     </condition> </fail> 
+0

這確實是奇怪的。我一直在使用haltonfailure =「否」,沒有任何問題。你可以請張貼您的螞蟻文件的片段? – aishwarya

+0

通常情況下'haltonfailure'默認設置爲'off',用於JUnit測試,你有沒有改變它? – talnicolas

回答

9

在junit任務的failureproperty屬性和條件失敗效果很好。即使測試失敗,我也會使用它來生成junit html報告。

<junit failureproperty="junit.failed" haltonfailure="no"> 
    <!--- stuff --> 
</junit> 
<!-- Generate junit reports, pmd, coverage, etc --> 
<fail if="junit.failed" message="Failed tests"/> 
+0

嗯,我也剛剛瞭解到,一個錯誤被認爲是失敗....意味着有時一個測試仍然會停止,即使這被設置爲「不」.... http://stackoverflow.com/questions/10936140/ ant-junit-failure-triggers -a-haltonfailure – jayunit100

+0

也可以用TestNG來做到這一點。 –