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 хостинг.Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!
Пікірлер
- Ora Iro
- Жел. 24, 2024, 6:38 Т.Ж.
C++ - Тест 001. Первая программа и типы данных
- Нәтиже:40ұпай,
- Бағалау ұпайлары-8
- Akiv Doros
- Қар. 11, 2024, 2:58 Т.Қ.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:50ұпай,
- Бағалау ұпайлары-4
- molni99
- Қаз. 26, 2024, 1:37 Т.Ж.
C++ - Тест 004. Указатели, Массивы и Циклы
- Нәтиже:80ұпай,
- Бағалау ұпайлары4
В проекте с тестами не видно упоминания ui
Спасибо большое.
Дописал в test.pro, такую строчку:
убрав из cpp теста Q_DECLARE_METATYPE(MainWindow) и поправив test_case1(),на:
Все заработало.