Qt Test

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 .

构建采用 CMake

使用 find_package() 命令定位所需模块组件在 Qt6 包:

find_package(Qt6 REQUIRED COMPONENTS Test)
target_link_libraries(mytarget PRIVATE Qt6::Test)
					

更多细节,见 构建采用 CMake 概述。

采用 qmake 构建

要配置采用 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 条款原始或旧的许可