第 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 公司及其/在其他国家的注册商标。所有其他商标均为其各自所有者的财产。