The Qt Test module provides classes for unit testing Qt applications and libraries. All public methods are in the QTest 名称空间。此外, QSignalSpy 类提供对 Qt 的信号和槽的轻松自省,而 QAbstractItemModelTester 允许非破坏性测试项模型。
注意: Qt Test 模块没有二进制兼容性保证。这意味着使用 Qt Test 的应用程序只保证与开发时所针对的 Qt 版本一起时才能工作。不管怎样,源代码的兼容性是有保证的。
使用 Qt 模块的 C++ API 要求直接 (或透过其它依赖) 链接到模块库。几个构建工具对此有专用支持,包括 CMake and qmake .
使用
find_package()
命令定位所需模块组件在
Qt6
包:
find_package(Qt6 REQUIRED COMPONENTS Test)
target_link_libraries(mytarget PRIVATE Qt6::Test)
更多细节,见 构建采用 CMake 概述。
要配置采用 qmake 构建模块,添加模块作为值为
QT
变量在工程的 .pro 文件:
QT += testlib
The Qt Quick Test module enables unit testing of Qt Quick applications.
Changes to Qt Test 列出了 Qt 的 Qt 6 系列在模块 API 和功能上所做出的重要改变。
Qt Test 模块在商业许可下是可用的来自 Qt 公司 。此外,它在自由软件许可下也是可用的: GNU LGPL (次一般公共许可) 第 3 版 ,或 GNU GPL (一般公共许可) 第 2 版 。见 Qt 许可 进一步了解细节。
Furthermore, Qt Test in Qt 6.5.1 may contain third party modules under the following permissive licenses:
Catch2, version 2.13.10 | Boost 软件许可 1.0 |
Cycle | MIT 许可 |
Linux 性能事件第 3.7 版 | GNU GPL (一般公共许可) 第 2.0 版仅采用 Linux Syscall 注意 |
Valgrind, version 3.20.0 | BSD 4 条款原始或旧的许可 |