警告
本节包含自动从C++翻译到Python的代码片段,可能包含错误。
第6章:使用QSKIP跳过测试#
如何在某些情况下跳过测试。
在测试函数中使用QSKIP( `` 描述“
)
如果从测试函数中调用了 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函数。
另请参阅