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 模塊使能夠單元測試 Qt Quick 應用程序。

模塊演變

Qt Test 的變化 列齣瞭 Qt 的 Qt 6 係列在模塊 API 和功能上所做齣的重要改變。

許可和歸屬

Qt Test 模塊在商業許可下是可用的來自 Qt 公司 。此外,它在自由軟件許可下也是可用的: GNU LGPL (次一般公共許可) 第 3 版 ,或 GNU GPL (一般公共許可) 第 2 版 。見 Qt 許可 進一步瞭解細節。

Furthermore, Qt Test in Qt 6.8.5 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 條款原始或舊的許可