如何暂停提升单元测试
How to pause a Boost unit test?
我正在为我创建的计时器编写一个单元测试,我遇到了在其他项目中经常遇到的问题。我想创建一个单元测试,该测试启动计时器,等待片刻,然后在计时器运行后检查计时器的值。然后,我可以测试计时器中的所有功能。
有没有办法做到这一点?我在文档中看不到任何内容。如果这不是一个好的做法,请告诉我应该怎么做。
如果你正在对任何涉及时间的东西进行单元测试,你可能希望虚拟化你的时间概念,以便你可以手动更改它。 根据你用于计时器的内容,这可能更容易或更难做(或内置),但是一旦你完成了,你就可以使用"setVirtualTime(time)"之类的东西来编写单元测试。
这种方法的一些优点:
- 单元测试的运行时间不取决于所讨论的计时器有多长(一旦您拥有以小时/天为单位测量的计时器,这变得很重要)
- 单元测试是确定性的,不会根据线程调度的变幻莫测而随机失败。
也许在你的单元测试中调用 sleep()?
相关文章:
- 有什么好的方法可以让系统调用代理允许在单元测试中进行模拟
- 在子目录中使用target_sources()命令时用于单元测试(qtest)的项目结构
- VC++本机单元测试,找不到调试符号
- 用于交叉编译和CMake的预处理器宏的单元测试
- C++ 用于单元测试的模板模板
- 提升 1.64 单元测试编译失败
- 单元测试欧拉到四元数实现失败
- 运行 C++ 单元测试时LNK2005链接错误
- 禁用自动捕获 Googletest 单元测试中的C++异常
- 有没有办法在不使用 #ifdef 的情况下不编译发布版本中的单元测试函数体?
- 使用 Google Test 对自定义断言函数进行单元测试
- 如何将我的 CMake 项目配置为运行所有单元测试?
- 在Qt C++单元测试中动态加载QQuickWindow而不是QQuickWidget
- MS 本机单元测试 - 断言::线程失败不起作用
- 如何获取 CMake 单元测试的相对路径?
- QTimer 超时不会在单元测试中触发
- 如何在提升构建中设置环境变量以进行提升单元测试框架?
- 在 AtMega32a 上运行的C++的单元测试
- 使用 gtest 框架在单元测试代码中检查目标对象的私有变量的最佳实践是什么?
- 如何暂停提升单元测试