我正在学习在小项目中练习TDD。我想创建一个倒数计时器类,如何在TDD(Red,Green,Refactor)中实现它,并且它也有委托回调。
答案 0 :(得分:2)
我不确定您的确切问题,但我想您想知道如何为倒数计时器首先编写测试?
如果是这样,首先要写一个主要测试,比如开始,停止或重置。这些是您的动作事件,将是您首先调用的事件(最有可能)。首先编写这些测试并执行它们。它们应该红色,因为它们实际上无法运行倒数计时器。
然后将虚拟代码添加到倒数计时器中的一个功能。例如,添加启动倒数计时器的Start()函数。暂时将该功能保留为空。测试仍应红色
现在我们需要添加一种方法来获取剩余的当前时间。添加“剩余”属性,我们可以检查剩余时间。更新测试,以便它捕获此属性,启动计时器,然后再次检查属性以查看它是否更改。测试应该红色,因为我们没有更改属性的代码。
更新启动方法以启动倒计时过程并更新倒数计时器的内部。现在重新运行测试,它应该是绿色,因为值正在改变。
现在是重构的时候了。查看代码并清理。简化您的位置,然后重新执行测试。如果一切顺利,一切都应该是绿色,您可以继续进行下一次测试。
希望有所帮助。
答案 1 :(得分:0)
通常我不会在单元测试中测试类似的东西。相反,我将保持代码尽可能小,并让它调用与我想要的时间一起工作的类,经过的时间,或者仅仅是一般的“立即工作”类型的消息。