前提:討論傳統 ASP.NET (非 MVC) 可測試性增強。核心難點:高度依賴 HttpContext,難以 Mock (非抽象、成員不可覆寫)。原則:減少對 HttpContext 依賴,改依賴抽象類型 (MVP 模式中用領域/介面相關抽象)。ASP.NET Abstractions 提供 HttpContextBase 抽象類,完整覆蓋 HttpContext 成員,可輕鬆 Mock。現有代碼需改依賴 HttpContextBase。
簡單情況下仍可直接構造 HttpContext 測試:示範 CountDataHandler 從 QueryString 取值寫回長度,測試時手工建立 HttpContext、Request、Response 物件。
(程式碼片段保留)