第六章 使用QSKIP跳过测试

QSKIP宏在Qt测试框架中用于跳过预期会失败的测试部分,尤其适用于未完成的实现或平台不支持的情况。它可以在测试函数、数据驱动测试的_data函数、initTestCase()或initTestCase_data()中使用,以避免日志记录失败并提供跳过原因。通过QEXPECT_FAIL可以在已知问题时仍完整执行测试。
摘要由CSDN通过智能技术生成

在测试函数中使用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()宏将跳过所有的test和_data函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值