第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関数をスキップします。
「テストを除外するための適切なメカニズムの選択」も参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.