Инструкция по запуску тестов Qt
Аврора IDE поддерживает создание тестов при помощи Qt-модуля Test.
Qt Test — это среда для модульного тестирования приложений и библиотек на основе Qt. С этим модулем в Аврора IDE можно работать так же, как и в оригинальном Qt.
Для ОС Аврора опубликован пример проекта с тестами QtTest. Данная инструкция иллюстрируется фрагментами его конфигурационных файлов.
Конфигурация проекта с тестами
Проект приложения с тестами рекомендуется организовать как проект с поддиректориями.
Одна поддиректория, например app, будет содержать приложение, вторая — тесты (tests).
В корневом проекте будет главный pro-файл,
имеющий тип шаблона subdirs.
В нём подключаются поддиректории проекта
и spec-файл.
TEMPLATE = subdirs
SUBDIRS = app tests
CONFIG += ordered
DISTFILES += \
rpm/ru.auroraos.QtTestUsage.spec
spec-файл будет расположен в корневом проекте, в поддиректориях spec-файлы можно не создавать. В нём следует указать Qt5Test как зависимость сборки:
BuildRequires: pkgconfig(Qt5Test)
В spec-файле также следует дать описание дополнительного пакета с тестами, приложение для тестов не входит в основной пакет.
Можно именовать приложение с тестами на основе названия проекта, используя суффикс Tests:
%files tests
%defattr(-,root,root,-)
%{_bindir}/%{name}.Tests
Поддиректория с приложением является обычным Аврора-проектом за исключением того, что в ней нет spec-файла.
Подпроект с тестами в pro-файле создаётся по шаблону app.
Для работы с Qt Test в переменную CONFIG вместо auroraapp нужно добавить значения:
console qt testcase no_testcase_installs.
А сам модуль Test подключить через QT += testlib.
Также в подпроект необходимо подключить каталог подпроекта приложения через INCLUDEPATH,
а затем подключить из него тестируемые файлы.
Полный пример pro-файла подпроекта с тестами:
TEMPLATE = app
TARGET = ru.auroraos.QtTestUsage.Tests
target.path = $${PREFIX}/bin
INSTALLS += target
CONFIG += console qt
QT += testlib
CONFIG += testcase
CONFIG += no_testcase_installs
INCLUDEPATH += ../app/
include(../app/app.pri)
SOURCES += \
tests.cpp \
testmyclass.cpp \
HEADERS += \
testmyclass.h \
В примере QtTestUsage создан дополнительный конфигурационный файл app.pri. В нём подключаются исходные файлы тестируемого класса, необходимые в обоих подпроектах:
HEADERS += $$PWD/src/myclass.h
SOURCES += $$PWD/src/myclass.cpp
Запуск тестов
Оба подпроекта в корневом проекте с поддиректориями можно запускать независимо друг от друга. Каждый подпроект в Аврора IDE запускается с помощью того же интерфейса, что и обычный проект.