dotnet-testing-filesystem-testing-abstractions
Installation
SKILL.md
檔案系統測試:使用 System.IO.Abstractions 模擬檔案操作
核心原則
1. 檔案系統相依性的根本問題
傳統直接使用 System.IO 靜態類別的程式碼難以測試,原因包括:
- 速度問題:實際磁碟 IO 比記憶體操作慢 10-100 倍
- 環境相依:測試結果受檔案系統狀態、權限、路徑影響
- 副作用:測試會在磁碟上留下痕跡,影響其他測試
- 並行問題:多個測試同時操作同一檔案會產生競爭條件
- 錯誤模擬困難:難以模擬權限不足、磁碟空間不足等異常
2. System.IO.Abstractions 解決方案
將 System.IO 靜態類別包裝成介面的套件,支援依賴注入和測試替身。
必要 NuGet 套件:
Related skills