Auf dieser Seite

Kapitel 6: Tests mit QSKIP überspringen

Verwendung von QSKIP (description) in einer Testfunktion

Wird das Makro QSKIP() aus einer Testfunktion heraus aufgerufen, bricht es die Ausführung des Tests ab, ohne einen Fehler in das Testprotokoll einzutragen. Es kann verwendet werden, um Tests zu überspringen, die mit Sicherheit fehlschlagen werden. Der Text im QSKIP-Parameter description wird an das Testprotokoll angehängt und sollte erklären, warum der Test nicht durchgeführt wurde.

QSKIP kann verwendet werden, um Tests zu überspringen, wenn die Implementierung noch nicht vollständig ist oder auf einer bestimmten Plattform nicht unterstützt wird. Bei bekannten Fehlern wird „ QEXPECT_FAIL “ empfohlen, da es die Ausführung des restlichen Tests unterstützt, sofern dies möglich ist.

Beispiel für QSKIP in einer Testfunktion:

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

In einem datengesteuerten Test überspringt jeder Aufruf von ` QSKIP()` nur die aktuelle Zeile der Testdaten. Enthält der datengesteuerte Test einen bedingungslosen Aufruf von `QSKIP`, erzeugt er für jede Zeile der Testdaten eine Überspringmeldung.

Verwendung von QSKIP in einer _data-Funktion

Wird das Makro ` QSKIP()` aus einer `_data`-Funktion aufgerufen, bricht es die Ausführung der `_data`-Funktion ab. Dadurch wird die Ausführung der zugehörigen Testfunktion verhindert.

Ein Beispiel finden Sie weiter unten:

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

    QSKIP("skipping all");

Verwendung von QSKIP aus `initTestCase()` oder `initTestCase_data()`

Wird das Makro „ QSKIP()“ aus „ initTestCase() “ oder „ initTestCase_data() “ aufgerufen, überspringt es alle Test- und _data-Funktionen.

Siehe auch „Auswahl geeigneter Mechanismen zum Ausschluss von 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.