第二部分討論打破依賴(breaking dependencies)的進階技巧,包括 mock 物件、stub、隔離框架(isolation framework),以及重構程式碼使其更容易測試的模式。
本部分包含#
- 第 3 章:使用 Stub 打破依賴 — 介紹 stub 的概念,示範如何手動建立與使用 stub,以及透過介面抽取(Extract Interface)、依賴注入(Dependency Injection)等重構手法讓程式碼可測試。
- 第 4 章:使用 Mock 物件進行互動測試 — 介紹值測試、狀態測試與互動測試的差異,說明 mock 與 stub 的區別,並示範如何手動撰寫 mock 物件。
- 第 5 章:隔離(Mocking)框架 — 展示如何使用隔離框架(如 NSubstitute)動態建立 fake 物件,取代手動撰寫的 stub 與 mock。
- 第 6 章:深入隔離框架 — 探討受限(constrained)與不受限(unconstrained)隔離框架的差異,評估好的隔離框架應具備的特質,以及常見的反模式。