通常,宏QVERIFY
、QCOMPARE
等不应在测试功能之外使用。原因是,如果发生故障,他们会用return
.
如果我想在一个函数中进行测试,我应该手动进行,如果其中一个失败则返回 false。然后用 调用函数QVERIFY
。但是当我这样做时,我错过了宏的详细输出,比如发生错误的行。
所以我正在寻找一种在测试函数之外使用宏的方法。一种解决方案是创建我自己的宏,当底层函数中的宏调用失败时中断测试。这里的主要问题是检测测试何时失败。查看 Qt 的代码,如果失败,变量QTest::failed
设置为true
. 但我无权访问此变量。
有没有办法找出 QtTest 宏是否失败?