用途:帮助为 Qt 项目编写测试,覆盖 C++ QTest、Python pytest-qt(PySide6 应用)和 QML TestCase 三种生态,并包含 CMake 集成。
框架选择:C++ Qt 类或业务逻辑用 C++ QTest(QObject 子类 + QTEST_MAIN);PySide6 GUI 应用用 pytest + pytest-qt(qtbot fixture);QML 组件行为用 QtQuickTest(TestCase QML 类型);PySide6 非 GUI 逻辑用 pytest,无需 pytest-qt。
主要能力:提供各框架的完整模式与参考文档。Python 侧见 references/python-pytest-qt.md,涵盖 qtbot fixture API、信号等待、conftest 模式、模型测试、parametrize、异步测试与常见陷阱;配置示例为 pytest.ini 中设置 testpaths = tests 与 qt_api = pyside6。C++ 侧见 references/cpp-qtest.md,涵盖宏参考、QSignalSpy、GUI/输入模拟、基准宏、输出格式、CMake 模式与排错;结构为每个测试类继承 QObject,私有槽即测试函数,文件末尾使用 QTEST_MAIN(ClassName) 并 #include "test_name.moc"。QML 侧见 references/qml-testcase.md,涵盖断言 API、组件创建、SignalSpy、异步/定时器测试、CMake 设置与常见问题;结构为 TestCase QML 项,测试函数须以 test_ 开头,并调用 obj.destroy() 防止泄漏。
使用方式:按上述框架选择对应模式,查阅 references/ 目录下的参考文件;示例包括 examples/test_calculator.py(含 fixture 的 pytest-qt 示例)与 examples/calculator_test.cpp(含数据驱动测试的 C++ QTest 示例)。
适用场景:为 Qt C++、PySide6 或 QML 项目添加单元测试与组件测试。限制:资料未提供安装命令、收费、价格、平台支持或效果保证等信息。