我在学习做TDD在实践中小项目。我想创建一个倒数计时器类,如何实现它在TDD(红,绿,重构),并且它具有的委托回调为好。

有帮助吗?

解决方案

我不知道您的具体问题,但我想你想知道你怎么可以先写测试你的倒计时?

如果如此写入与主测试之一开始,说开始,停止,或复位。这是您的行为事件,将是你第一次调用(最有可能)中的那些。第一码这些测试并执行它们。他们应该是红色,因为它们无法实际运行倒计时。

然后在你的倒数计时器添加伪代码的功能之一。例如,添加其启动倒计时开始()函数。离开此功能为空了。测试仍应的红色

现在我们需要添加一种方式来获得剩余的当前时间。添加“剩余”的属性,我们可以检查剩余的时间。更新测试,以便它抓住了这个属性,启动计时器,然后再次检查属性,看它是否改变。测试应该是红色还是因为我们没有代码更改属性。

更新start方法脱掉你倒计时过程,并更新倒数计时器的内部结构。现在重新运行测试,它应该是绿色由于该值改变。

现在是时候为重构即可。通过看你的代码和干净的东西了。简化在那里你可以再重新执行你的测试。如果一切良好的一切都应该是绿色,然后你可以移动到下一个测试。

希望有所帮助。

其他提示

一般来说,我不测试之类的东西,在单元测试。相反,我会继续代码尽可能小,并有它调用,它的工作,要么我希望它发生的时间,经过的时间,或者只是一个普通类“做现在的工作”之类的消息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top