Qt Test

Qt Test provides classes for unit testing Qt applications and libraries. All public methods are in the QTest namespace. In addition, the QSignalSpy class provides easy introspection for Qt's signals and slots, and the QAbstractItemModelTester allows for non-destructive testing of item models.

Note: There is no binary compatibility guarantee for the Qt Test module. This means that an application that uses Qt Test is only guaranteed to work with the Qt version it was developed against. However, source compatibility is guaranteed.

Getting Started

To enable Qt Test in a project, add this directive into the C++ files:

 #include <QtTest>

Articles and Guides

Licenses and Attributions

Qt Test is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses. Since Qt 5.4, these free software licenses are GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.

Furthermore, Qt Test in Qt 5.15.8 may contain third party modules under following permissive licenses:


MIT License

Linux Performance Events, version 3.7

GNU General Public License v2.0 only with Linux Syscall Note

Valgrind, version 3.14.0

BSD 4-clause "Original" or "Old" License


The Qt Quick Test module enables unit testing Qt Quick applications.

  • Qt Quick Test QML Types
  • Qt Quick Test C++ API