我正在使用Qt Test,用于某些计算重算法的写单元测试.该过程使用了相当长的时间,并且当在较旧的计算机中运行时,该过程失败,因为这样的超时:
********* Start testing of KnotTest *********
Config: Using QtTest library 5.6.2, Qt 5.6.2 (i386-little_endian-ilp32 shared (dynamic) release build; by MSVC 2013)
PASS : MyTest::initTestCase()
QFATAL : MyTest::test_benchmark() Test function timed out
FAIL! : MyTest::test_benchmark() Received a fatal error.
Unknown file(0) : failure location
Totals: 1 passed, 1 failed, 0 skipped, 0 blacklisted
********* Finished testing of KnotTest *********
Run Code Online (Sandbox Code Playgroud)
如何为生成的测试程序设置自定义超时?
小智 9
在 QtCreator 中,您可以更改默认超时
工具 -> 选项 -> 测试 -> 常规:超时
另请参阅以下链接中的“构建和运行测试”:
http://doc.qt.io/qtcreator/creator-autotest.html
您可以覆盖使用所谓的环境变量的超时QTEST_FUNCTION_TIMEOUT
。超时值必须以毫秒为单位。默认情况下,Qt使用300000毫秒(5分钟)的超时。
此环境变量是未记录的,因此我不能保证它会在将来的Qt版本中继续存在。
顺便说一句,您可以使用qputenv
以下方式以编程方式设置环境变量:
http://doc.qt.io/qt-5/qtglobal.html#qputenv