這是我的c#單元測試設計問題:C#單元測試設計問題:如何減少單元測試寫入冗餘?
我有一個測試,我想運行一些修改文件的代碼。我的測試將運行修改文件的代碼,然後檢查結果。目前相當直截了當......
問題是,我有大約10個文件(很快會更多),我想運行相同的單元測試。我不想爲每個文件寫一個新的單元測試,當測試本身真的是一樣的時候。
我可以編寫一個測試來查詢文件夾中的文件,然後在每個文件上運行測試邏輯,但是使用此方法只會報告整個文件集的一個通過/失敗結果。
編號喜歡創建某種動態系統,其中我放置在特定文件夾中的每個文件都通過相同的單元測試運行。因此,如果文件夾中有25個文件,則測試運行25次,單元測試reults報告運行25個測試,並且包含每個測試的單獨通過/失敗。
任何想法如何或如果這可以在C#單元測試中完成?或者與一個nunit測試?
謝謝!我希望這不是一個重複的問題。我環顧四周,但找不到任何東西。
有些人會爭辯說,涉及IO(在這種情況下操縱文件系統)的測試不是單元測試。另一種方法是將IO操作表示爲可注入的依賴關係。然而,大多數的System.IO類型(當然還有靜態)並不適用於此。我使用的一種方法是創建簡單方法轉發類型和相應接口的代理程序集。這允許您保留這個瘦代理層未經測試,並且您的邏輯層完全經過_unit_測試。微軟莫爾斯有效地做到了這一點,但這仍然是一個在製品。 –