2016-07-17 10 views
2

qtestlibQt5 C++ 위젯 응용 프로그램과 함께 사용하면 전체 GUI을 어떻게 테스트 할 수 있습니까? 내 UI의 개별 위젯이 자동으로 생성 된 안에 숨겨져 있기 때문에qtestlib를 사용하여 전체 Qt5 GUI를 테스트하려면 어떻게합니까?

qtestlibdocumentation에서이 나는 등 키 누름을 시뮬레이션하여 indivdual QWidget을 테스트 할 수있는 방법을 설명한다, 그러나 이것은 전체 UI를 위해 할 수 없다 보인다ui_XXX.h 파일

그럼 어떻게해야할까요?

답변

3

ui 파일에서 위젯에 이름을 지정할 수 있습니다. 그런 다음 상위 위젯에서 하위 항목을 검색 할 수 있습니다.

예는 라벨 문자를 사용할 수있는 LineEdit에 입력 반영 테스트의 경우 :

MainWindow win; 

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

QLabel *label = win.findChild<QLabel *>("myLabel"); 
QCOMPARE(label->text(), "Example");