Qt Test Patterns 是一个面向 Qt 项目的测试技能,用于在编写 Qt 相关测试时提供模式与结构指导。
用途:帮助用户为 Qt 项目编写测试,覆盖 C++ Qt 类与业务逻辑、PySide6 GUI 应用、QML 组件行为以及 PySide6 非 GUI 逻辑等场景。触发场景包括请求“写测试”“添加测试”“创建 QTest”“如何测试 widget”“Qt 单元测试”“pytest-qt”等。
主要能力:技能将 Qt 测试划分为三个生态系统——C++ QTest(原生、零依赖)、Python pytest-qt(PySide6 应用)和 QML TestCase(QML 组件逻辑),并涵盖 CMake 集成。技能还给出测试框架选择建议:C++ Qt 类或业务逻辑使用 C++ QTest(QObject 子类 + QTEST_MAIN);PySide6 GUI 应用使用 pytest + pytest-qt(qtbot fixture);QML 组件行为使用 QtQuickTest(TestCase QML 类型);PySide6 非 GUI 逻辑使用 pytest(无需 pytest-qt)。
使用方式:按技能内容,C++ QTest 的关键结构是每个测试类为 QObject 子类,私有槽为测试函数,并在文件末尾使用 QTEST_MAIN(ClassName) 与 #include "test_name.moc"。pytest-qt 的关键配置在 pytest.ini 中设置 testpaths 与 qt_api(例如 qt_api = pyside6)。QML TestCase 的关键结构是使用 TestCase QML item,测试函数必须以 test_ 开头,并始终调用 obj.destroy() 以防止内存泄漏。
适用场景:C++ Qt 类与业务逻辑测试、PySide6 GUI 应用测试、QML 组件行为测试、PySide6 非 GUI 逻辑测试,并支持与 CMake 集成。
限制:资料未提供该技能的具体安装命令、收费与价格信息、平台支持范围、实际运行效果或完整使用步骤,这些内容暂未提供。