The Art of Unit Testing Ch3
「單元測試的藝術」讀書會 - 用 stubs 解除相依 (The Art of Unit Testing, 3e - Breaking dependencies with stubs) 閱讀筆記。 解除相依性 在測試 SUT ( stand for system under test),可能會遇到一些外部的相依,讓測試變得不可靠而且脆弱。這個時候我們就需要想辦法跟這些我們無法控制的元件/系統或是服務解除相依,讓這些東西可以在我們的掌控之下。 這邊依據 SUT 跟該服務的互動方式區分為 Outgoing dependency 和 Incoming dependency --- title: Outgoing dependency --- flowchart LR UST{{"Unit of work"}} test((Test)) Dep{{"Dependency"}} test--Entry point-->UST UST--Exit point-->Dep 這個類型的相依通常是 API 通知、打 webhook、寫 log 或是存資料到 DB。這些會帶有 通知、呼叫 或是 發送 的行為通常就是 outgoing 相依的特徵,這些行為都有把流程(或資料) 帶出 這個 unit of work 因此每一個都是一個 exit point。 ...