我有一个GUI,我想测试这个GUI的许多功能。问题是,子部件都是这个主GUI类的私有成员。当我无法填充任何这些子部件时,我如何测试我的主GUI,因为它们在测试类中对我来说是私有的?
例如,我在ui
对象中有多个行编辑作为字段。这些行编辑被抓取并转储到特定于此GUI的QVariant对象类型中。我无法从测试函数填充这些编辑,因为由于隐私问题,它们无法访问。因此,我无法测试QVariant对象是否与GUI提供的数据匹配。
我也不能在特定的小部件上调用任何QTest函数来触发事件。
比如我不能打电话QTest::mouseClick(testGUI.ui->pushButton1, ...)
因为ui
是私有的,而pushButton1
无论是否是UI的一部分都是私有的。因此,我也不能在这些按钮上模拟鼠标单击事件。我还尝试使用QTest::mouseClick(testGUI, ..., ..., ..., QPoint(70, 180));
其中QPoint是按钮相对于小部件的绝对位置,但即使这样也不会触发按钮单击。
当这些小部件的大部分都是私有的,用户无法访问时,我如何测试这些小部件?
1条答案
按热度按时间bnl4lu3b1#
您可以尝试创建共享库,其中包括目录build-xxx-desktop-debug。然后在www.example.com中test.pro创建库。
希望能成功。