我正在學習在小型項目中做TDD實踐。我想創建一個倒數計時器類,如何在TDD(紅色,綠色,重構)中實現它,並且它也具有委託回調。如何在TDD中實現倒數計時器類?
0
A
回答
2
我不確定您的確切問題,但我想您想知道如何先爲您的倒數計時器編寫測試?
如果是這樣開始編寫一個主要測試,比如說開始,停止或重置。這些是你的行動事件,並且將是你首先調用的(最有可能的)事件。先編寫這些測試並執行它們。他們應該是紅色,因爲他們實際上不能運行倒數計時器。
然後將虛擬代碼添加到倒數計時器中的某個功能。例如,添加啓動倒數計時器的Start()函數。暫時保留該功能爲空。測試應該仍然是紅色
現在我們需要添加一種方法來獲取當前剩餘時間。添加「剩餘」屬性,我們可以檢查剩餘時間。更新測試,以便捕獲此屬性,啓動計時器,然後再次檢查屬性以查看是否更改。測試應該是紅色仍然因爲我們沒有代碼來改變屬性。
更新啓動方法以啓動倒計時過程並更新倒數計時器的內部。現在重新運行測試,因爲值正在改變,所以應該是綠色。
現在是時候到重構。仔細檢查你的代碼並清理乾淨。簡化你的工作,然後重新執行你的測試。如果一切都很好,一切都應該是綠色,你可以繼續進行下一個測試。
希望有所幫助。
0
通常我不會在單元測試中測試這樣的事情。相反,我會盡可能少地保留這些代碼,並讓它調用完成工作的類,無論是我想要的時間,經過的時間,還是一般的「立即工作」類型的消息。
相關問題
- 1. 如何實現倒數計時器
- 2. 我該如何在軌道中實現倒數計時器?
- 3. 如何在ASP.NET頁面中實現倒數計時器?
- 4. 如何在擺動中實現倒數計時器
- 5. 實現持久倒數計時器
- 6. 如何在Android中實現兩個倒計時定時器
- 7. 倒計時計時器在UILabel中的實現?
- 8. 實時倒數計時器在Python
- 9. 如何使用PyTelegrambotAPI實現倒數計時器?
- 10. 如何實現水平滾動倒數計時器?
- 11. 如何使用ReactiveUI實現倒數計時器?
- 12. 如何倒數計時器
- 13. 試圖在DOM中實現一個倒數計時器
- 14. 修復倒計時倒數計時器
- 15. 倒計時 - iPhone倒數計時器
- 16. 使用Moment.js實現24小時倒數計時器
- 17. 倒數計時器
- 18. 倒數計時器
- 19. 倒數計時器
- 20. 倒數計時器?
- 21. 倒數計時器在PHP
- 22. 實時倒計時
- 23. 如何做補充倒數計時器?
- 24. 如何使倒數計時器重複
- 25. 如何建立倒數計時器?
- 26. 如何用html做倒數計時器?
- 27. 如何製作倒數計時器?
- 28. 在倒數計時器中使用核心數據實體
- 29. 在JavaScript中設置倒數計時器
- 30. 在Qt中製作倒數計時器