Qt Test

Qt Test 模块提供 C++ API 为 单元测试 and 基准测试 Qt 应用程序和库。大多数 API 都可以找到在 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 模块使能够单元测试 Qt Quick 应用程序。

模块演变

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

许可和归属

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

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

Catch2 第 2.13.10 版

Boost 软件许可 1.0

Cycle 第 3.3.10 版

MIT 许可

Linux 性能事件第 6.13 版

GNU GPL (一般公共许可) 第 2.0 版仅采用 Linux Syscall 注意

Valgrind 第 3.25.1 版

BSD 4 条款原始或旧的许可