2012-03-20 49 views
2

我有一個在異常情況下記錄字符串的方法。 在我的JUnit測試中,我想讀取日誌並確保其中存在字符串。如何在Junit測試中讀取日誌文件

有人可以建議如何做到這一點?

+0

你的意思是捕獲輸出到控制檯,或者是你談論日誌文件的「日誌」?如果它是一個文件,只需打開文件並閱讀它。 – Jochen 2012-03-20 22:51:22

回答

1

您想要測試的是,如果發現異常,預期的消息將發送到記錄器。解析日誌文件是一個選項,但是通過這種方法,您也可以測試記錄器配置(應該超出此測試的範圍)。

如果模擬接收到預期的消息和期望的日誌級別,則可以模擬記錄器並進行測試。

或者 - 使用一種特殊的記錄儀的配置進行測試,以接收文件或控制檯上的「原始」日誌消息(你可以重定向輸出到內部打印流)

6

如果該方法被記錄到Log4J,你可以創建一個模擬appender並將其附加到正在測試的類。運行測試後,您可以檢查模擬appender並確保正確的字符串已記錄到它。

+0

這就是我做的..謝謝!! – user1180969 2012-03-21 16:14:07

+1

習慣上接受最好回答問題的答案。 – 2012-03-21 21:06:56