esten mit dem QTestLib-Modul von

Ich habe angefangen, einige Tests mit dem Qt-Einheitentestsystem zu schreiben.

Wie organisieren Sie normalerweise die Tests? Es ist eine Testklasse pro Modulklasse, oder testen Sie das gesamte Modul mit einer einzigen Testklasse? In den Qt-Dokumenten wird empfohlen, der vorherigen Strategie zu folgen.

Ich möchte Tests für ein Modul schreiben. Das Modul bietet nur eine Klasse, die vom Modulbenutzer verwendet werden soll, aber in anderen Klassen ist viel Logik abstrahiert, die ich auch gerne testen möchte, abgesehen vom Testen der öffentlichen Klasse.

Das Problem ist, dass die von Qt vorgeschlagene Art, Tests durchzuführen, dieQTEST_MAIN macro:

QTEST_MAIN(TestClass)
#include "test_class.moc"

und schließlich kann ein Testprogramm nur eine Testklasse testen. Das Erstellen von Testprojekten für jede einzelne Klasse im Modul ist ein Kinderspiel.

Natürlich könnte man sich das @ ansehQTEST_MAIN macro, schreiben Sie es neu und führen Sie andere Testklassen aus. Aber gibt es etwas, das sofort funktioniert?

So weit ich es von Hand mache:

#include "one.h"
#include "two.h"

int main(int argc, char *argv[]) 
{ 
    QCoreApplication app(argc, argv); 
    TestOne one;
    QTest::qExec(&one, argc, argv);
    TestOne two;
    QTest::qExec(&two, argc, argv);
}

Antworten auf die Frage(8)

Ihre Antwort auf die Frage