第 6 章:使用 QSKIP 跳过测试
在测试函数中使用 QSKIP(描述)
如果从测试函数调用 QSKIP() 宏,它将终止测试的执行而不会将失败添加到测试日志中。它可以用来跳过肯定失败的测试。QSKIP 描述 参数中的文本将被追加到测试日志中,应解释为什么没有执行该测试。
QSKIP 可以在实现尚未完成或不支持某个平台时跳过测试。当存在已知失败时,建议使用 QEXPECT_FAIL,因为它支持在可能的情况下运行测试的其余部分。
测试函数中 QSKIP 的示例
if (tst_Databases::getMySqlVersion(db).section(QChar('.'), 0, 0).toInt() < 5) QSKIP("Test requires MySQL >= 5.0");
在数据驱动的测试中,每次调用 QSKIP() 仅跳过当前行的测试数据。如果数据驱动的测试包含一个无条件的 QSKIP 调用,则对每一行测试数据都生成一个跳过消息。
在 _data 函数中使用 QSKIP
如果从 _data 函数调用,QSKIP() 宏将停止 _data 函数的执行。这防止执行相关的测试函数。
下面是示例
QTest::addColumn<bool>("bool"); QTest::newRow("local.1") << false; QTest::newRow("local.2") << true; QSKIP("skipping all");
从 initTestCase() 或 initTestCase_data() 中使用 QSKIP
如果从 initTestCase()
或 initTestCase_data()
调用,QSKIP() 宏将跳过所有测试和 _data 函数。
另请参阅选择适当的机制来排除测试。
© 2024 Qt 公司有限公司。本文件中包含的文档贡献是各自所有者的版权。提供的文档受自由软件基金会发布的 GNU 自由文档许可证版本 1.3 条款的约束。Qt 和相关标志是芬兰的 Qt 公司及其/在其他国家的注册商标。所有其他商标均为其各自所有者的财产。