【发布时间】:2010-06-04 15:59:14
【问题描述】:
我正在对一个类进行单元测试,该类的值经常变化,具体取决于它从另一个组件接收到的通信。如果该类在 5 秒内未收到任何通信,则该属性将恢复为默认值。
为了触发我想要测试的值,我很容易存根和模拟通信组件。问题是,如果我在繁忙的机器(比如构建机器)上运行单元测试,并且有足够长的延迟导致属性默认,那么我的单元测试将失败。
在模拟各种通信条件时,您将如何测试以确保该属性具有正确的值?
一个想法是重构我的代码,以便我可以存根控制超时的类部分。另一个是编写我的单元测试,以便它可以检测它是否由于超时而失败并在测试结果中指出。
【问题讨论】:
标签: unit-testing timeout