Как выполнить qtestlib модульные тесты из QtCreator

Я разрабатываю приложение GUI в спокойном Создателе и хочу записать некоторые модульные тесты на него.

Я следовал Этому руководству для создания некоторых модульных тестов с QtTestlib и компиляциями программы прекрасными. Но как я выполняю их? Я хотел бы, чтобы они были выполнены, прежде чем приложение для GUI запустится если отладка buid и не выполненное если сборка конечных версий.

5
задан Viesturs 11 May 2010 в 08:18
поделиться

2 ответа

Наконец-то разобрался, как запускать тесты перед запуском приложения.

Я добавил один статический метод в класс тестов для запуска тестов:

#include <QtTest/QtTest>

TestClass::runTests()
{
    TestClass * test = new TestClass();

    QTest::qExec(test);
    delete test;
}

В основной функции do:

int main(int argv, char *args[])
{
    ::TestsClas::runTests();

    QApplication app(argv, args);
    MainWindow mainWindow;
    mainWindow.setGeometry(100, 100, 800, 500);
    mainWindow.show();

    return app.exec();
}

Результаты теста выводятся в окне вывода приложения.

4
ответ дан 18 December 2019 в 05:49
поделиться

Создатель Qt пока явно не поддерживает выполнение модульных тестов (до Qt Creator 2.0beta). Так что пока вам нужно будет запускать тесты вручную.

Если вы используете систему сборки наподобие cmake вместо qmake, вы можете попытаться запустить модульные тесты автоматически как часть самого процесса сборки. К сожалению, я не знаю ни одного способа сделать это с помощью qmake. CMake поддерживается создателем Qt, хотя и не так хорошо, как qmake.

2
ответ дан 18 December 2019 в 05:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: