Документация
ОС Аврора 5.1.5

Инструкция по запуску тестов 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 запускается с помощью того же интерфейса, что и обычный проект.

Тесты можно выполнить, запустив подпроект с именем tests.

Результат выполнения тестов будет доступен на вкладке Вывод приложения. Пример результата QtTestUsage:

********* Start testing of TestMyClass *********
Config: Using QtTest library 5.6.3, Qt 5.6.3 (i386-little_endian-ilp32-qreal_float shared (dynamic) release build; by GCC 8.3.0 20190222 (Aurora OS gcc 8.3.0-4))
PASS   : TestMyClass::initTestCase()
PASS   : TestMyClass::testAdd()
PASS   : TestMyClass::testMultiply()
PASS   : TestMyClass::cleanupTestCase()
Totals: 4 passed, 0 failed, 0 skipped, 0 blacklisted
********* Finished testing of TestMyClass *********

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.