如何暂停提升单元测试

How to pause a Boost unit test?

本文关键字:单元测试 暂停 何暂停      更新时间:2023-10-16

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

有没有办法做到这一点?我在文档中看不到任何内容。如果这不是一个好的做法,请告诉我应该怎么做。

如果你正在对任何涉及时间的东西进行单元测试,你可能希望虚拟化你的时间概念,以便你可以手动更改它。 根据你用于计时器的内容,这可能更容易或更难做(或内置),但是一旦你完成了,你就可以使用"setVirtualTime(time)"之类的东西来编写单元测试。

这种方法的一些优点:

  1. 单元测试的运行时间不取决于所讨论的计时器有多长(一旦您拥有以小时/天为单位测量的计时器,这变得很重要)
  2. 单元测试是确定性的,不会根据线程调度的变幻莫测而随机失败。

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