我正在学习在小项目中实践TDD。我想创建一个倒计时计时器类,如何在TDD(Red,Green,Refactor)中实现它,并且它也有委托回调。
发布于 2010-03-17 12:46:22
我不确定你的确切问题,但我想你想知道如何才能先为你的倒计时器写测试?
如果是这样的话,就从编写一个主要测试开始,比如启动、停止或重置。这些是您的操作事件,并且将是您首先调用的事件(最有可能)。首先对这些测试进行编码并执行它们。它们应该是红色的,因为它们实际上不能运行倒计时计时器。
然后将虚拟代码添加到倒计时计时器中的一个函数中。例如,添加Start()函数来启动倒计时计时器。暂时将函数保留为空。测试应该仍然是red
现在我们需要添加一种方法来获取当前剩余时间。添加一个“剩余”属性,我们可以在其中检查剩余时间。更新测试,使其捕获此属性,启动计时器,然后再次检查属性以查看是否发生了更改。测试应该仍然是红色,因为我们没有代码来更改属性。
更新start方法以启动倒计时过程,并更新倒计时计时器的内部结构。现在重新运行您的测试,它应该是绿色,因为该值正在更改。
现在是时候对进行重构了。检查一下你的代码,把它清理干净。尽可能简化,然后重新执行测试。如果一切正常,那么一切都应该是、绿色、,您可以继续进行下一个测试。
希望这能有所帮助。
发布于 2010-03-17 13:45:43
一般来说,我不会在单元测试中测试这样的东西。相反,我将使代码尽可能地简短,并让它调用完成工作的类,或者按照我想要的时间、经过的时间,或者只是一般的"Do work now“之类的消息。
https://stackoverflow.com/questions/2459924
复制相似问题