c++ - 如何在 Qt 中运行多个测试而不多次调用 QTest::qExec?
问题描述
我有一个包含多个独立库的项目,我希望为每个库创建自己的测试套件。我计划有一个链接所有套件的单个可执行文件,并且能够从 Qt Creator测试窗口运行所有测试或单个测试。怎么做?
基本 Qt 教程仅考虑创建单个测试对象并使用宏之一QTEST_MAIN
的QTEST_APPLESS_MAIN
情况QTEST_GUILESS_MAIN
。
有这样的建议,以及手动创建main
函数QTest::qExec
并多次调用函数的地方。该解决方案不再起作用(或者至少我未能以这种方式解决我的问题),因为该QTest::qExec
函数不应被多次调用:
对于独立测试应用程序,不应多次调用此函数,因为用于将测试输出记录到文件和执行单个测试函数的命令行选项将无法正确运行。
如何在单个可执行文件中使用多个测试对象?在 Qt 中开发测试的惯用/推荐方法是什么,其中测试不能与单个initTestCase
/cleanupTestCase
对共享相同的对象?
我将 Qt 5.14.0 与 Qt Creator 4.11.0 + QMake 一起使用。操作系统是 Windows。
笔记!我之前已经问过这个问题,但它被错误地关闭为与如何运行多个 QTest 类重复?. 特别注意我的问题略有不同,并且为另一个问题提供的解决方案不再起作用(但它本可以在 2016 年起作用)。我的问题的关键部分是如何在不QTest::qExec
多次调用该函数的情况下实现目标。
解决方案
推荐阅读
- javascript - 如何绘制现有绘制的画布元素?
- json - 如何使用 unix cmd/shell 脚本漂亮地打印 JSON?
- html - 文本在css中悬停时仍然隐藏?
- r - 如何编码以 R 语言拆分名称
- java - 使用组合键 Hibernate 自定义加入
- ubuntu - 具有两个接口和两个子网的 ubuntu 的 netplan 配置,其中一个用于 Web 流量
- python - xlwings 如何分离 py 和 excel 文件?
- c# - 柱和源系列必须来自相同的时间帧和符号参数名称:parameterValues
- json - 如何使用 Nix 读取 JSON 文件?
- groovy - 詹金斯管道:执行远程脚本:错误:第1行:html:没有这样的文件或目录