我正在对一个类进行单元测试,该类具有一个属性,其值经常会因另一个组件的通信而改变。如果该类在5秒内没有收到任何通信,则该属性将恢复为默认值。
我可以轻松地存根和模拟通信组件以触发我想要测试的值。问题是,如果我在一个繁忙的机器上运行我的单元测试(比如构建机器),并且存在足够长的延迟导致属性默认,那么我的单元测试将失败。
你如何测试以确保在模拟各种通信条件时该属性具有正确的值?
一个想法是重构我的代码,以便我可以存根控制超时的类部分。另一个方法是编写我的单元测试,使其能够检测是否由于超时而失败,并在测试结果中指示此情况。
我可以轻松地存根和模拟通信组件以触发我想要测试的值。问题是,如果我在一个繁忙的机器上运行我的单元测试(比如构建机器),并且存在足够长的延迟导致属性默认,那么我的单元测试将失败。
你如何测试以确保在模拟各种通信条件时该属性具有正确的值?
一个想法是重构我的代码,以便我可以存根控制超时的类部分。另一个方法是编写我的单元测试,使其能够检测是否由于超时而失败,并在测试结果中指示此情况。