必要之惡–Visual Studio 2012 提供的 Fake Framework 之 Shim

原始程式對其他系統有高度依存性,造成無法測試。沒有測試無法保證重構,但沒有重構又無法解掉依存性

Peter Provost’s 的 Blog Visual Studio Fakes Part 2 – Shims:ttp://www.peterprovost.org/blog/2012/04/25/visual-studio-11-fakes-part-2/

作者將我們習以為常的雞生蛋,蛋生雞問題悖論用 Catch-22 說明:飛行員想要避掉危險任務必須裝瘋,但瘋子會去飛,沒瘋的人要執行這趟危險任務。

作者針對上述測試的解法

  1. 因為相依性讓傳統的測試方式無法測試某段程式碼
  2. 在重構之前,需要有測試驗證重構的正確性
  3. 利用 Shims 先截取呼叫,取代原始的相依物件,讓你可以進行較安全的重構
  4. 有了測試,可以前後嘗試不同的重構撰寫方式
  5. 一旦重構完成,可以重新撰寫不採用Shims的測試
  6. 移掉先前的Shims測試

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

%d 位部落客按了讚: