2

Qt5 C++ ウィジェット アプリケーションを使用qtestlibして、完全な GUIをテストするにはどうすればよいですか?

ドキュメントではqtestlib、キープレスなどをシミュレートすることで個々をテストする方法が説明されていますが、UI の個々のウィジェットは自動生成されたファイルQWidget内に隠されているため、これを完全な 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 に答える