我目前正在C#中编写一个简单的,基于计时器的迷你应用程序,每隔k秒执行n次动作.
我正在尝试采用测试驱动的开发风格,因此我的目标是对应用程序的所有部分进行单元测试.
所以,我的问题是:有没有一种好的方法来对基于计时器的类进行单元测试?
正如我所看到的那样,问题在于,测试执行时需要花费很大的时间,因为他们必须等待这么长时间才能完成所需的操作.
特别是如果想要实际数据(秒),而不是使用框架允许的最小时间分辨率(1毫秒?).
我正在使用模拟对象来执行操作,以记录操作被调用的次数,以便操作几乎没有时间.
Len Holgate有一系列关于测试基于计时器的代码的文章.
我所做的是模拟计时器,以及当前系统时间,我的事件可以立即触发,但就测试中的代码而言,经过的时间是秒.