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 模块要求直接或透过其它依赖链接到模块库。一些构建工具为此有贡献支持,包括 CMake and qmake .

构建采用 CMake

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

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

另请参阅 构建采用 CMake 概述。

采用 qmake 构建

要配置采用 qmake 构建模块,添加模块作为值为 QT 变量在工程的 .pro 文件:

QT += testlib
					

文章和指南

模块演变

Changes to Qt Test 列出了 Qt 的 Qt 6 系列在模块 API 和功能上所做出的重要改变。

许可和归属

Qt Test 模块在商业许可下是可用的来自 Qt 公司 。此外,它在自由软件许可下也是可用的: GNU LGPL (次一般公共许可) 第 3 版 ,或 GNU GPL (一般公共许可) 第 2 版 。见 Qt 许可 进一步了解细节。

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

Catch2, version 2.11.1 Boost 软件许可 1.0
Cycle MIT 许可
Linux 性能事件第 3.7 版 GNU GPL (一般公共许可) 第 2.0 版仅采用 Linux Syscall 注意
Valgrind,第 3.14.0 版 BSD 4 条款原始或旧的许可

参考

Qt Quick Test 模块能够单元测试 Qt Quick 应用程序。