我目前正在C#中编写一个简单的基于计时器的迷你应用程序,每k秒执行一次动作n次。
我试图采用测试驱动的开发风格,所以我的目标是单元测试应用程序的所有部分。单元测试基于计时器的应用程序?
所以,我的问题是:有单位测试基于计时器的类的好方法吗?
正如我所看到的那样,问题在于测试将花费很长的时间执行很大的风险,因为他们必须等待期望的动作发生。
特别是如果你想要现实的数据(秒),而不是使用框架允许的最小时间分辨率(1毫秒?)。
我正在使用模拟对象执行操作,注册操作次数被调用的次数,以便该操作几乎不需要任何时间。
我看到你的方法唯一的问题是,你可能不得不暴露每次民意调查发生的事情,这是一个好主意吗?即暴露你不需要进行测试的东西。另一种选择可能是内部的(和InternalsVisibleTo),但很多人也不喜欢这样做 – roundcrisis 2012-09-13 11:22:37