QTest как протестировать MainWindow
Решил разобраться с QTest. Создал простейший проект (FirstTest) с подпроектами: 1 подпроект (FirstProject) - простейшая прога, 2 подпроект (test) - для тестирования. Но при компиляции получаю ошибку: \firstproject\mainwindow.cpp:2: ошибка: ui_mainwindow.h: No such file or directory.
Подскажите, что я делаю не так, а то какой-то осмысленной информации по QTest мало, но хочется в этом разобраться.
TEMPLATE = subdirs SUBDIRS += \ Test/Test.pro \ firstproject/firstproject.pro
В FirstProject *.pro файл не менял.
В MainWindows добавил 1 функции для тестирования:
int MainWindow::addNumber(int a, int b) { return a+b; }
В Test.pro вписал следующее:
QT += testlib QT += gui QT += widgets CONFIG += qt warn_on depend_includepath testcase TEMPLATE = app HEADERS += \ ../firstproject/mainwindow.h SOURCES += \ ../firstproject/mainwindow.cpp tst_test_mainwindow.cpp
В классе теста написал следующее:
#include <QtTest> #include <QCoreApplication> // add necessary includes here #include "../firstproject/mainwindow.h" Q_DECLARE_METATYPE(MainWindow) class Test_MainWindow : public QObject { Q_OBJECT public: Test_MainWindow(); ~Test_MainWindow(); private slots: void initTestCase(); void cleanupTestCase(); void test_case1(); }; Test_MainWindow::Test_MainWindow() { } Test_MainWindow::~Test_MainWindow() { } void Test_MainWindow::initTestCase() { } void Test_MainWindow::cleanupTestCase() { } void Test_MainWindow::test_case1() { MainWindow *mw = new MainWindow(nullptr); QCOMPARE(mw->addNumber(2, 4), 6); } QTEST_MAIN(Test_MainWindow) #include "tst_test_mainwindow.moc"
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Пожалуйста, авторизуйтесь или зарегистрируйтесь
- Akiv Doros
- 11 ноября 2024 г. 20:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
- molni99
- 26 октября 2024 г. 7:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
- molni99
- 26 октября 2024 г. 7:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
В проекте с тестами не видно упоминания ui
Спасибо большое.
Дописал в test.pro, такую строчку:
убрав из cpp теста Q_DECLARE_METATYPE(MainWindow) и поправив test_case1(),на:
Все заработало.