Sur cette page

Chapitre 6 : Sauter des tests avec QSKIP

Utiliser QSKIP(description) dans une fonction de test

Si la macro QSKIP() est appelée à partir d'une fonction de test, elle arrête l'exécution du test sans ajouter d'échec au journal de test. Elle peut être utilisée pour ignorer les tests dont l'échec est certain. Le texte du paramètre QSKIP description est ajouté au journal des tests et doit expliquer pourquoi le test n'a pas été exécuté.

QSKIP peut être utilisé pour sauter des tests lorsque l'implémentation n'est pas encore terminée ou n'est pas prise en charge sur une certaine plate-forme. En cas d'échecs connus, QEXPECT_FAIL est recommandé, car il permet d'exécuter le reste du test, dans la mesure du possible.

Exemple de QSKIP dans une fonction de test :

if (tst_Databases::getMySqlVersion(db).section(QChar('.'), 0, 0).toInt() < 5)
    QSKIP("Test requires MySQL >= 5.0");

Dans un test piloté par les données, chaque appel à QSKIP() ne saute que la ligne actuelle des données de test. Si le test piloté par les données contient un appel inconditionnel à QSKIP, il produit un message de saut pour chaque ligne de données de test.

Utilisation de QSKIP dans une fonction _data

Si elle est appelée à partir d'une fonction _data, la macro QSKIP() arrête l'exécution de la fonction _data. Cela empêche l'exécution de la fonction de test associée.

Voir l'exemple ci-dessous :

    QTest::addColumn<bool>("bool");
    QTest::newRow("local.1") << false;
    QTest::newRow("local.2") << true;

    QSKIP("skipping all");

Utilisation de QSKIP à partir de initTestCase() ou initTestCase_data()

Si elle est appelée à partir de initTestCase() ou initTestCase_data(), la macro QSKIP() ignorera toutes les fonctions de test et _data.

Voir aussi Sélectionner les mécanismes appropriés pour exclure les tests.

© 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.