警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
第6章:使用QSKIP跳过测试¶
如何在某些情况下跳过测试。
使用 QSKIP( `` description``
在测试函数中¶
如果从测试函数中调用QSKIP()宏,它会停止测试的执行,而不会在测试日志中添加失败记录。它可以用于跳过肯定会失败的测试。QSKIP description参数中的文本会被附加到测试日志中,并应解释为什么没有执行测试。
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函数。
另请参阅