我有一個相當脆弱的PHP應用程序,我正在重構併爲我添加phpunit測試。應用程序中的一個常見情況是用戶警告消息的錯誤配置(應用程序接收配置文件並生成圖像和HTML作爲輸出)。PHPunit - 測試用戶錯誤狀態的最佳實踐(不是例外)
所以我必須通過像應用灑一串代碼:
wm_warn("You can't make a contrast with 'none' - guessing black. [WMWARN43]\n");
其中wm_warn其寫入標準錯誤或根據上下文的日誌文件。
如何使用phpunit測試這些警告?
重要的是 - 這不是一個致命的錯誤,所以它是不可能的(AFAIK)用一個例外來代替它,並使用phpunit的「預期異常」功能。
這是一個wm_warn模擬的用例嗎?或者捕獲stderr?或者使用不同的日誌記錄方法來簡化測試(例如log4php)?
謝謝,寫得不錯!當前的日誌函數是一個實際的函數,但我可以很容易地調用一個日誌對象的方法(以便將其全部摺疊爲直接調用日誌記錄對象)。 – AnotherHowie
@AnotherHowie很高興聽到它可以爲你工作! – Katie