2011-05-30 54 views
5

我正在使用JUnit4並將所有測試組織在測試套件中,並使用@RunWith(Suite.class)註釋進行了註釋。爲整個測試套件添加日誌記錄監聽器

現在我想爲JUnit註冊一個自定義記錄器,因此每次開始和完成每個測試時都會打印一條日誌消息。

我已經找到了RunNotifier和RunListener類,但不知道如何將我的偵聽器從我的TestSuite定義中添加到JUnit中。

任何想法?

回答

1

我想你已經暗示瞭解決方案。編寫你自己的跑步者並使用@RunWith註釋來爲你的測試/套件指定跑步者。這應該允許你看到你的輸出,即使在eclipse/ant中運行,因爲junit將使用註釋。

+0

+1這很容易,我不知道爲什麼我沒有想到它。非常感謝。 – Daniel 2012-12-16 18:06:07

1

您可以在調用run之前實例化一個JUnitCore對象並調用addListener()。不知道是否有更好的方式與註釋,但我沒有遇到過。

+0

問題是在這裏,我從Eclipse開始我的UnitTests,所以我沒有爲我自己實例化JUnitCore。另外,我想從ant開始測試,並且需要相同的日誌記錄行爲。 – Daniel 2011-05-31 11:26:48

+0

在Eclipse中,您可以通過作爲Java應用程序運行來調用主要方法。在Ant中,並不那麼簡單,因爲你不想失去junit報告。也許看到ant如何添加junitreport監聽器並添加兩者?這看起來並不是最好的方式。 – 2011-06-01 01:57:08

+0

我想使用eclipse GUI來運行測試,所以我可以爲自己開始測試(我知道該怎麼做,並且已經編寫了自己的跑步者,但現在我只想配置我的測試的可能性,以便開始並記錄測試結束)。 – Daniel 2011-06-01 08:02:45