Qt Quick Test Справочная документация
Введение
Qt Quick Test — это фреймворк для модульных тестов приложений QML. Тестовые случаи записываются как JavaScript-функции внутри типа TestCase:
import QtQuick 2.3
import QtTest 1.0
TestCase {
name: "MathTests"
function test_math() {
compare(2 + 2, 4, "2 + 2 = 4")
}
function test_fail() {
compare(2 + 2, 5, "2 + 2 = 5")
}
} Функции, имена которых начинаются с test_, обрабатываются как тестовые случаи, которые необходимо выполнить. Более подробную информацию о написании тестовых случаев см. в документации по типам TestCase и SignalSpy.
Запуск тестов
Тестовые случаи запускаются с помощью инструмента C++, который состоит из следующего кода:
#include <QtQuickTest/quicktest.h> QUICK_TEST_MAIN(example)
Где "example" — идентификатор, используемый для уникальной идентификации этого набора тестов. Вам следует добавить CONFIG += qmltestcase. например:
TEMPLATE = app TARGET = tst_example CONFIG += warn_on qmltestcase SOURCES += tst_example.cpp
Инструмент сканирует указанную исходную директорию рекурсивно в поисках файлов "tst_*.qml". Если QUICK_TEST_SOURCE_DIR не определено, то при запуске инструмента будет просканирована текущая директория. Другие файлы *.qml могут быть связаны с вспомогательными QML-компонентами, используемыми в тесте.
Командная опция -input может быть установлена во время выполнения для запуска тестовых случаев из другой директории. Это может потребоваться для запуска тестов на целевом устройстве, где имя скомпилированной директории относится к хосту. Например:
tst_example -input /mnt/SDCard/qmltests
Также возможно запустить один файл с помощью опции -input. Например:
tst_example -input data/test.qml
tst_example -input <full_path>/test.qml
Примечание: Для тенёвых сборок, например, необходимо указывать полный путь к файлу теста qml.
Если ваш тестовый случай требует QML-импорты, вы можете добавить их как опции -import в командную строку программы тестирования.
Если в вашем файле .pro указан IMPORTPATH, каждый путь импорта, добавленный в IMPORTPATH, будет передан в качестве аргумента командной строки при запуске теста с помощью "make check":
IMPORTPATH += $$PWD/../imports/my_module1 $$PWD/../imports/my_module2
Командная опция -functions вернёт список текущих тестовых функций. Запустить одну тестовую функцию можно, используя имя тестовой функции в качестве аргумента. Например:
tst_example Test_Name::function1
Командная опция -help вернёт все доступные опции.
tst_example -help
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/qtquick-qtquicktest.html