我們目前正在爲我們的構建使用JUnit 4.4和Ant 1.7.1。我有一些測試案例是@Ignore
d。當我在Eclipse中運行它們時,JUnit測試運行程序將它們報告爲忽略。我希望看到它們列在Ant的XML輸出中(所以我可以報告它們),但它們似乎並不存在。JUnit Ant任務報告是否可以忽略測試?
有沒有人使用這種工作?有開關打開它們嗎?我需要做的升級?
我們目前正在爲我們的構建使用JUnit 4.4和Ant 1.7.1。我有一些測試案例是@Ignore
d。當我在Eclipse中運行它們時,JUnit測試運行程序將它們報告爲忽略。我希望看到它們列在Ant的XML輸出中(所以我可以報告它們),但它們似乎並不存在。JUnit Ant任務報告是否可以忽略測試?
有沒有人使用這種工作?有開關打開它們嗎?我需要做的升級?
看起來這是一個已知的Ant issue/bug。
這個線程討論同樣的問題,但它提供了一些額外的信息:當使用maven surefire運行測試時,您可以獲得有關忽略測試的數據,而哈德森能夠顯示該數據。
http://jenkins.361315.n4.nabble.com/Is-it-possible-to-show-Ignore-JUnit-tests-td1565288.html
一種this issue修復現在已經應用到Ant核心的頭,預定於發行爲的螞蟻1.9.0即將發佈的版本的一部分。
應該可以在本地嘗試此修補程序,將其替換爲Ant分發版的lib目錄中的ant-junit.jar,版本號爲nightly builds,或者運行整晚的Ant分發,或直接構建Ant源代碼。由於Ant團隊目前正在投票準備新版本,因此可能需要等待1.9.0正式打包並推出下載。
剛剛嘗試過使用JUnit 4.11的Ant 1.9.0。如果您使用<junit printsummary="on">
你會得到輸出如下:
[junit] Running com.example.IgnoredTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.01
[junit] Running com.example.PassingTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01
[junit] Running com.example.FailingTest
[junit] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.01
我覺得這是preferrable如果我們能找到這樣的輸出與printsummary=off
:
[junit] Test com.example.IgnoredTest SKIPPED
[junit] Test com.example.FailingTest FAILED
但似乎上面的更詳細的輸出是我們能做的最好的,除非我錯過了junit task arguments之一的一些晦澀的伎倆。
根據mc1arke的回覆,這個bug已經在Ant 1.9.0中修復了。我沒有爲自己驗證這一點,因爲我目前的項目不使用Ant。 – 2013-03-06 17:11:42