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
Installs
24
GitHub Stars
24
First Seen
Jan 24, 2026