2

qtestlib与我的Qt5 C++ 小部件应用程序一起使用,我如何测试我的完整 GUI

在 的文档qtestlib,解释了如何QWidget通过模拟按键等来测试个人,但是对于完整的 UI,这似乎是不可能的,因为我的 UI 的各个小部件隐藏在自动生成 ui_XXX.h的文件中。

那么我该怎么做呢?

4

1 回答 1

4

在您的 ui 文件中,您可以为小部件命名。然后,您可以从顶级小部件中搜索子项。

例如,要测试 Label 是否反映了输入到 LineEdit 中的字符,您可以使用:

MainWindow win;

QLineEdit *edit = win.findChild<QLineEdit *>("myLineEdit");
QTest::sendKeys(edit, "Example");

QLabel *label = win.findChild<QLabel *>("myLabel");
QCOMPARE(label->text(), "Example");
于 2016-07-17T14:06:25.917 回答