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

被折叠的 条评论
为什么被折叠?



