我試圖通過在我們的構建過程中的無頭日食執行JUnit測試。單元測試是從Ant腳本調用,使用此命令:在無頭模式下運行eclipse時禁用錯誤消息對話框?
eclipsec.exe -noSplash -application org.eclipse.ant.core.antRunner -data "C:\SomeDirectory" -buildfile "C:\Path\To\tests.xml"
這工作得很好,除非Ant腳本需要由於某種原因失敗(或者通過明確的任務,因爲一個單元測試失敗,或因爲單元測試向上遊拋出異常)。無論哪種情況,eclipsec都會彈出一個對話框報告「發生了錯誤」。這是伴隨着一個例外。堆棧跟蹤的頂部,如果是相關的,就是:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.ant.core.AntRunner.run(AntRunner.java:513)
at org.eclipse.ant.core.AntRunner.start(AntRunner.java:600)
我真的不關心什麼Ant腳本或日食失敗了 - 這就是記錄是 - ,但對話框隨着它一起彈出是不可接受的,因爲它會掛起我們的持續集成系統,同時等待不可見用戶點擊它。
有沒有什麼辦法可以抑制這個對話框?有沒有什麼辦法可以解決這個對話框不需要真正的用戶來響應呢?
附加信息: Eclipse版本:Indigo(最新截至昨天)。它內部的Ant和JUnit。 Java版本:JDK 6.0_30 32位 操作系統:Windows(7和Server 2003)
這看起來很有希望,但我要麼不知道如何應用它,要麼在這種情況下不起作用。我試着在一個JUnit測試中設置它,我會失敗,但它不會阻止一個eclipse錯誤對話框。錯誤抑制需要發生在Ant層或eclipse層,但我不知道是哪一個,或者怎麼做。 – 2011-12-16 02:50:26