Testando com o módulo QTestLib do Qt

Comecei a escrever alguns testes com o sistema de teste de unidade do Qt.

Como você costuma organizar os testes? É uma classe de teste por uma classe de módulo ou você testa o módulo inteiro com uma única classe de teste? Os documentos Qt sugerem seguir a estratégia anterior.

Eu quero escrever testes para um módulo. O módulo fornece apenas uma classe que será usada pelo usuário do módulo, mas há muita lógica abstraída em outras classes, que eu também gostaria de testar, além de testar a classe pública.

O problema é que a maneira proposta pela Qt de executar testes envolveu aQTEST_MAIN macro:

QTEST_MAIN(TestClass)
#include "test_class.moc"

e, eventualmente, um programa de teste é capaz de testar apenas uma classe de teste. E é meio ruim criar projetos de teste para todas as classes do módulo.

Claro, pode-se dar uma olhada noQTEST_MAIN macro, reescreva-a e execute outras classes de teste. Mas há algo que funciona imediatamente?

Até agora eu faço isso manualmente:

#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);
}

questionAnswers(4)

yourAnswerToTheQuestion