我正在学习在小型项目中做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中制作倒数计时器