我一直在尋找一段時間,但我仍然無法找到一種方法去做我想做的事。JUnit - 所有測試類已執行時的監聽器?
我在整個項目中使用「Run as JUnit test」在Eclipse中運行我的單元測試。
我實現了一個自定義RunListener,它以單例形式記錄了一些測試結果信息(僅供參考,這並不意味着只記錄測試結果,我知道我們可以爲此導出junit報告,這是爲了獲取更多信息它們在測試方法自定義註釋中)。
一旦所有的測試都執行完畢,我想將singleton信息保存在磁盤上。 (關鍵字是ALL :))
我知道我可以重寫testRunFinished(這就是我現在做的), 但這種方法被稱爲每次一個單一類的所有測試都通過測試類執行(所以一旦)。
是否因爲Eclipse「Run as」默認將每個類視爲套件?
雖然它有效,但堅持單身國家數千次並不是真的有效。我想給持久化文件一個正確的名稱(像二進制版本+日期),但我不能現在,因爲我不知道什麼時候所有的測試已經執行,所以每次文件被持久化,它會創建一個新的文件(日期包含毫秒),雖然測試沒有結束(並且單身數據因此不完整)
任何想法?
謝謝!
我找到了解決方法。我可以創建一個TestSuite並創建一個AfterClass,但這意味着我需要枚舉成千上萬個類,這很麻煩......我會尋找一種動態的方式將所有測試類添加到套件中,但我希望更好主意! – Icefire