在测试函数中使用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函数。