我对Qt和Qt Quick非常陌生。我正在验证Qt Test单元测试框架是否适用于Qt Quick,但是我不知道如何运行测试。
这是我的项目结构:
SUBDIRS项目包含以下内容:
ProjectSolution
ProjectSolution.pro
Project
Project.pro
Sources/main.cpp
Resources/qml.qrc/main.qml
ProjectTest
ProjectTest.pro
Sources/main.cpp
Resources/qml.qrc/main.qml
Resources/qml.qrc/tst_gui.qml
"Project" 是待测试的应用程序,我的测试用例在 "ProjectTest/Resources/qml.qrc/tst_gui.qml" 中。tst_gui.qml:
import QtQuick 2.5
import QtTest 1.0
TestCase {
name: "UI Testcase"
when: windowShown
function test_button_click() {
mouseClick(click_button, Qt.LeftButton, Qt.NoModifier)
}
function test_key_press() {
keyClick(Qt.Key_Left)
keyClick("a")
}
}
我有一个id为"click_button"的按钮,位于"Project/Resources/qml.qrc/main.qml"中,我想模拟它。执行测试项目时,我收到了失败消息:
FAIL! : tst_gui::UI Testcase::test_button_click() Uncaught exception: click_button is not defined
C:\Users\sjayaprakash\Qt Test Projects\Qt Test Validation\QtTestValidation6\QtTestValidation6Test\tst_gui.qml(9) : failure location
我确定我做错了什么。有人可以帮忙吗?
main.qml
文件吗?在tst_gui.qml
中应该像这样写:import "Project/Resources/qml.qrc/main.qml"
。 - Tarodmain.qml
移动到tst_gui.qml
中。现在它可以正常工作了,因为测试用例现在能够找到click_button。 - medasumanth