首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >单元测试基于定时器的应用程序?

单元测试基于定时器的应用程序?
EN

Stack Overflow用户
提问于 2008-08-15 07:02:46
回答 4查看 7.6K关注 0票数 20

我目前正在写一个简单的,基于计时器的C#迷你应用程序,它每k秒执行一个动作n次。

我正在尝试采用一种测试驱动的开发风格,所以我的目标是对应用程序的所有部分进行单元测试。

所以,我的问题是:有没有一个好的方法来对基于计时器的类进行单元测试?

在我看来,问题是有一个很大的风险,那就是测试将花费令人不安的长时间来执行,因为它们必须等待很长时间才能实现所需的操作。

特别是当一个人想要真实的数据(秒),而不是使用框架允许的最小时间分辨率(1ms?)。

我为操作使用了一个模拟对象,以注册操作被调用的次数,因此操作实际上不需要任何时间。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-08-15 07:43:18

我所做的是模拟计时器,以及当前的系统时间,我的事件可以立即触发,但就被测试的代码而言,经过的时间是秒。

票数 11
EN

Stack Overflow用户

发布于 2008-08-15 21:01:50

票数 11
EN

Stack Overflow用户

发布于 2008-08-15 07:09:05

我认为在这种情况下,我要做的是测试当计时器滴答作响时实际执行的代码,而不是整个序列。你真正需要决定的是,是否值得测试应用程序的实际行为(例如,如果每个刻度从一个刻度到另一个刻度发生了巨大的变化),或者只测试您的逻辑是否足够(也就是说,每次操作都是相同的)。

由于计时器的行为保证永远不会改变,它要么会正常工作(即,你已经正确配置了它),要么就不会;如果你实际上不需要的话,把它包含在你的测试中似乎是白费力气。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档