如何为秒表编写单元测试?

Phi*_*ipp 2 c++ windows time unit-testing

我有一个班级来测量呼叫Start和呼叫之间的时间Stop.我创建了一个单元测试,使用和boost::this_thread::sleep之间的睡眠,我测试结果是在睡觉时间附近.StartStop

但是,此测试在我们的构建代理上失败,但在我们的开发机器上失败 问题是:我如何知道这是否是秒表的实际问题,或者如果构建代理(运行其他进程,作为虚拟机)可能比我告诉它的时间长,这是一个"问题"?

所以问题是:是否有一种强有力的方式来编写"做一些需要x秒的东西?"

非常感谢!

Bjö*_*lex 7

没有办法在非实时系统上可靠地测试这样的东西.要做的就是包装API以获取秒表使用的系统时间并在测试中模拟它们.