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 р. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50бали,
- Рейтинг балів-4
- molni99
- 26 жовтня 2024 р. 01:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80бали,
- Рейтинг балів4
- molni99
- 26 жовтня 2024 р. 01:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20бали,
- Рейтинг балів-10
В проекте с тестами не видно упоминания ui
Спасибо большое.
Дописал в test.pro, такую строчку:
убрав из cpp теста Q_DECLARE_METATYPE(MainWindow) и поправив test_case1(),на:
Все заработало.