使用JUnit 測試System.out.println()
如何為將錯誤訊息寫入標準輸出的應用程式編寫JUnit 測試,特別是當這些訊息不一致且不可靠時?要有效地測試這些場景,您必須捕獲控制台輸出並斷言其內容。
重定向控制台輸出
捕獲控制台輸出需要重定向兩個標準輸出(System.out) )和測試期間的標準錯誤(System.err )。這可以使用 ByteArrayOutputStream 和 System.setXXX 方法來實作。這是一個範例實作:
範例測試案例
透過重定向控制台輸出,您可以編寫測試案例來斷言預期輸出:
這些測試案例斷言系統輸出符合預期,允許您驗證應用程式日誌是否與不同的請求一致
注意:在此答案的早期版本中,測試後使用了System.setOut( null),這可能會導致NullPointerExceptions。更新後的程式碼會在每次測試後正確恢復原始串流,以避免此類問題。
以上是如何在 JUnit 中對 System.out.println() 進行單元測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!