#isolatedUnitTest #LegacyCode #ExtractAndOverrideCall #Csharp
http://www.codedata.com.tw/…/csharp-legacy-code-test-1-iso…/
我在 CodeData 的這篇文章,運用了基本的 OO 特性:繼承與覆寫,在絕大部分的情境可以不需要中介抽象層,也能做到 isolated unit test 的可測試性。
不適用的只有 static function 與不可繼承的類別(在 C# 中是 sealed 關鍵字)無法直接套用。
雖是這系列的第一篇,在實務上卻是真正反璞歸真的作法。
若是為了可測試性,硬在 production code 上加入需求所不需要的中介層或 interface 等抽象層,只會讓程式更不好懂,反而變成為了測試而測試。
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...