当我运行 Qt 单元测试项目时,它以如下所示的摘要结束:
Totals: 28 passed, 1 failed, 0 skipped, 0 blacklisted
“通过”和“失败”类别很明显,但“跳过”和“列入黑名单”是什么意思?
什么情况下测试框架会跳过测试?这与将其列入黑名单有何不同?
我的Qt版本是Qt 5.4.1。
如果从测试方法/槽调用 QSKIP(),则跳过测试。
QTestlib
在测试目录中查找名为 BLACKLIST
的文件,如果找到则解析它。该文件包含一个简单的 ini 风格的黑名单函数列表。详细信息请参见qtestblacklist.cpp。
例如,Qt5 在
BLACKLIST
文件夹中有 .ini
文件(不带 tests/auto/corelib/kernel/qobject
扩展名),内容如下:
[moveToThread]
windows
这告诉 QTestlib 如果平台是
moveToThread
,不要将名为 slot
的 windows
视为测试用例,而只是增加“黑名单”计数。