qt - 让 Qt Creator 测试扫描仪找到一个项目中的所有测试类
问题描述
我们的团队使用 Qt Creator。我们有相当大的项目,对于每个项目,我们都有一个测试项目,每个生产类都有一个测试类。测试项目的主体调用QTest::qExec
每个测试类。我们通过简单地运行测试项目来运行我们的测试。
这很好,但输出仅限于控制台,如下所示:
********* Start testing of TestClass1 *********
Config: Using QtTest library 5.10.1, Qt 5.10.1 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 7.3.0)
PASS : TestClass1::initTestCase()
PASS : TestClass1::test1()
PASS : TestClass1::test2()
PASS : TestClass1::cleanupTestCase()
Totals: 2 passed, 0 failed, 0 skipped, 0 blacklisted, 3ms
********* Finished testing of TestClass1*********
********* Start testing of TestClass2 *********
Config: Using QtTest library 5.10.1, Qt 5.10.1 (x86_64-little_endian-lp64 shared (dynamic) debug build; by GCC 7.3.0)
PASS : TestClass2::initTestCase()
PASS : TestClass2::test1()
PASS : TestClass2::test2()
PASS : TestClass2::cleanupTestCase()
Totals: 2 passed, 0 failed, 0 skipped, 0 blacklisted, 3ms
********* Finished testing of TestClass2*********
我刚刚发现了集成测试 gui,并且真的很想使用它。但是,我无法让扫描仪(工具-> 测试-> 重新扫描测试)找到项目中的所有测试。如果我主要写这个,它适用于TestClass1:
int main(int argc, char** argv) {
TestClass1 test;
return QTest::qExec(&test, argc, argv);
}
但是,如果我尝试如下添加 TestClass2,则扫描仪只能识别 TestClass2:
int main(int argc, char** argv) {
TestClass1 test1;
int ret = QTest::qExec(&test1, argc, argv);
TestClass2 test2;
int ret &= QTest::qExec(&test2, argc, argv);
return ret;
}
好像扫描仪只找到最后一个用QTest::qExec
.
知道如何在不触及现有测试类的情况下找到所有测试吗?
解决方案
推荐阅读
- flutter - 未处理的异常:类型 '_InternalLinkedHashMap
' 不是类型 'Map 的子类型 ' - python - 使用 ffmpeg 将 webm 转换为 wav
- c++ - 出现“SIGSEGV”分段错误并且不确定原因
- angular - Nativescript Angular Android App强制光照模式不起作用
- mysql - logstash mysql错误数据在第1行被截断
- javascript - 递归函数从元素获取文本时出错
- android - 为什么使用 Kotlin 密封类时 DiffUtil 不抛出 ClassCastException
- javascript - Yii echmultiselect 在控制台上显示错误并且无法正常工作
- javascript - reactJS中的Textarea问题:组件正在将未定义类型的受控输入更改为不受控制
- excel - 通过 VBA 从剪贴板粘贴到 Word 标题的图像既不列为 InlineShape 也不列为 Shape