我讀過最讓相關的問題(here,here和there)。 最後一個問題提出了四種替代方法來製作調用靜態方法單元測試的代碼。 我想問一下我的具體情況:我們有一個包含45個靜態類(無狀態,只是靜態方法)的「業務邏輯層」或「規則」項目。而且,它們本身不容易測試:它們大多數都訪問數據庫和文件系統。無論如何,它並沒有那麼糟糕:爲了訪問數據庫,他們使用了一些Mapper類的獨特實例(所有映射器都是單例)。每當我嘗試單元測試的東西,我碰到這堵牆。最大的問題是這是非常非常重要的代碼,並且應該非常小心地對其進行更改。 我的問題:我應該如何去做更多的單元測試?我應該寫45個接口並使用依賴注入嗎?即便如此,我如何存根/模擬Mappers?單元測試代碼調用靜態方法
PS:我一直在閱讀邁克爾羽毛‘與遺留代碼一起工作’,所以直接引用歡迎(其他書籍太:)
編輯:因爲有些人說的解決方案可能是依賴於平臺的,我正在.NET(C#和VB.NET一些)
聽起來沒問題。這會使靜態方法成爲可測試的,但是如何調用它們的代碼呢?另一個說明,只是好奇......是「GI」某種簽名,還是它的縮寫? (我來自阿根廷) –
Gl ==祝你好運:)。對於使用Mapper的代碼,您必須調整它以使用工廠接口而不是gettonstance by singleton。 – AlexTheo