- TestCase
- 總共4份
- 每1份13張牌
- 每1份牌都沒有重複
- 4份牌都不相同
- 重複呼叫結果不同
- 牌的數字在1-52之間
- 沒有重複的牌
在git的commit中,可以清楚的看到測試是如何產生production code。
- 因為 production code尚未支援新的 scenario ,所以測試結果為紅燈。
- 可以讓開發者清楚的知道目標就是要通過這個紅燈。
- production code 在這個新的 scenario 底下可以如同預期般地運作。
- production code 之前支援的所有 scenarios 也都如預期正常運作。
- 有測試的保護下,我可以輕易地重構Poker類別,再新增排序的功能。
- 將排序演算法實作在擴充方法中
- 未來修改排序演算法,只需要專注在Helper類別上,更不容易傷害到原本的邏輯。