繁体   English   中英

如何暂停Boost单元测试?

[英]How to pause a Boost unit test?

我正在为自己创建的计时器编写单元测试,但遇到其他项目经常遇到的问题。 我想创建一个单元测试,以启动计时器,等待片刻,然后在计时器运行后检查计时器的值。 然后,我可以测试计时器中的所有功能。

有没有办法做到这一点? 我在文档中什么都看不到。 如果这不是一个好习惯,请告知我应该怎么做。

如果您要对涉及时间的任何内容进行单元测试,则可能需要虚拟化时间概念,以便可以手动进行更改。 根据您使用的计时器,这可能更容易或更难(或内置),但是一旦完成,您就可以使用“ setVirtualTime(time)”之类的东西编写单元测试。

这种方法的一些优点:

  1. 单元测试的运行时间不取决于所涉及的计时器有多长时间(一旦您以小时/天为单位来衡量计时器,这一点就变得很重要)
  2. 您的单元测试是确定性的,并且不会随线程调度的变化而随机失败。

也许在单元测试中调用sleep()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM