Sur cette page

Chapitre 6 : Ignorer des tests avec QSKIP

Utilisation de QSKIP (description) dans une fonction de test

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

QSKIP peut être utilisé pour ignorer des tests lorsque l’implémentation n’est pas encore terminée ou n’est pas prise en charge sur une certaine plateforme. En cas d’échecs connus, il est recommandé d’utiliser QEXPECT_FAIL, car cette fonction permet d’exécuter le reste du test, lorsque cela est possible.

Exemple d’utilisation 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()` ignore uniquement la ligne actuelle des données de test. Si le test piloté par les données contient un appel inconditionnel à `QSKIP`, il génère un message d’ignorance pour chaque ligne des données de test.

Utilisation de QSKIP dans une fonction _data

Si elle est appelée depuis une fonction _data, la macro QSKIP() interrompt l’exécution de la fonction _data. Cela empêche l’exécution de la fonction de test associée.

Voir ci-dessous pour un exemple :

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

    QSKIP("skipping all");

Utilisation de QSKIP depuis initTestCase() ou initTestCase_data()

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

Voir également «Sélectionner les mécanismes appropriés pour exclure des 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.