測試驅動開發,看似六個字,但意義很深
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
在於工作經驗,拿unittest,來測試method,flow -> 開發方法完在unittest,這樣無限cycle下,覺得為了測而測(沒有scope 的method),
另一方面,開發出來的code,落落長長Dirty Code,怎麼的拆解,也是bug一堆。
為了更了解Tdd實際應用, 查一下,Test、develop、refactory的cycle,及testcase這些等等,某些項目為實際運作上缺少的,及怎麼實作方法論。
或找尋書本,但文字是死的,怎麼把文字轉為實際的code,還是一門學問。
在Tdd 領域部份,可找91的課程來聽聽
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 :