Tdd

  • 49
  • 0
  • TDD
  • 2020-07-31

測試驅動開發,看似六個字,但意義很深

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在於工作經驗,拿unittest,來測試method,flow -> 開發方法完在unittest,這樣無限cycle下,覺得為了測而測(沒有scope 的method),

另一方面,開發出來的code,落落長長Dirty Code,怎麼的拆解,也是bug一堆。

為了更了解Tdd實際應用, 查一下,Test、develop、refactory的cycle,及testcase這些等等,某些項目為實際運作上缺少的,及怎麼實作方法論。

或找尋書本,但文字是死的,怎麼把文字轉為實際的code,還是一門學問。

在Tdd 領域部份,可找91的課程來聽聽

https://dotblogs.com.tw/hatelove/2019/11/24/202005-Evolutionary-Development-TDD-and-Continuous-Refactoring

tdd : scenario推理演進unittest至production code!

refactory : 演練過程,真的是精闢呀!

shortcut : fast!

上課後 :

看完上課內容,有些東西還滿實用性的,課後去拆解 refactor的動作過程,能了解到91做了多少的功夫,就像令狐沖,劍法熟悉度(IDE、工具),運用自如。

但看過跟自已寫過的是二件事,用說的簡單,實際寫才知痛苦 怎麼把所學吸收,怎麼跨過 ? 、怎麼確定已跨過 ?、每次的寫法都一樣嗎?

若對於Tdd或工具不熟悉,想了解更深入,可以來聽看看,真的很值得

Stub : 用來驗證目標物件的回傳值及狀態改變

Mock : 驗證目標物件與外部相依介面的互動方式

Fake : 目標物件使用到靜態方法,或.net framework本身的物件

  • stub - 會實作相同介面的小型替代取代類別。
  • shim - 修改應用程式編譯的程式碼在執行階段,以便而不是呼叫指定的方法呼叫,並執行您的測試提供的 Shim 程式碼。

05/08 已拆解完refactor 範例 Code

05/11 已refactor 其他組Code

05/13 Tennis train

code dojo 4 題 : https://codingdojo.org/kata/

leetcode easy 15 題

ref : 

https://ithelp.ithome.com.tw/articles/10103969

https://docs.microsoft.com/zh-tw/previous-versions/visualstudio/visual-studio-2012/hh549175(v=vs.110)?redirectedfrom=MSDN