PySide6.QtQuickTest#
Detailed Description#
Qt Quick Test is a unit test framework for QML applications. Test cases are written as JavaScript functions within a QML TestCase type:
import QtQuick
import QtTest
TestCase {
name: "MathTests"
function test_math() {
compare(2 + 2, 4, "2 + 2 = 4")
}
function test_fail() {
compare(2 + 2, 5, "2 + 2 = 5")
}
}
Functions whose names start with test_
are treated as test cases to be
executed.
QML API#
The QML types
in Qt Quick Test are available through the QtTest
import.
To use the types, add the following import statement to your .qml
file:
import QtTest
Running Tests#
Test cases are launched by a harness that consists of the following code:
import sys
from PySide6.QtQuickTest import QUICK_TEST_MAIN
QUICK_TEST_MAIN("example", sys.argv)
Where “example” is the identifier to use to uniquely identify this set of tests.
Test execution can be controlled by a number of command line options (pass
-h
for help).
Executing Code Before QML Tests#
To execute code before any of the QML tests are run, the
QUICK_TEST_MAIN_WITH_SETUP()
function can be used. This can be useful
for setting context properties on the QML engine, amongst other things.