Dot-Net

模擬文件系統

  • February 16, 2016

如果我的單元測試依賴於文件系統並且我需要模擬它,那麼最好的方法是什麼?

謝謝

您基本上有兩個選擇:eiter 將所有與文件系統相關的邏輯抽象為 a IFileSystemService,或者使用Microsoft 的Stubs,即

…提供測試存根的 .NET 輕量級框架。對於介面和非密封類,會生成類型安全的包裝器,可以通過附加委託輕鬆定制。

文件系統是 TDD 如何推動您實現更好、更靈活的設計的一個很好的例子。通常,當您與文件系統互動時,您可以使用StreamsTextWriters而不是實際文件來處理讀取和寫入文件。

這些都是抽像類型,因此很容易模擬。

現在你有了一個更靈活的 API,因為它沒有與文件系統緊密耦合,但仍然支持文件操作。

引用自:https://stackoverflow.com/questions/2266588