Модульное тестирование QT: ошибка сегментации qtestlib - PullRequest
0 голосов
/ 19 ноября 2010

Я пишу тестовое приложение, которое будет проверять правильность отображаемой формы. Это после нажатия клавиши в меню. Вот блок кода, где я получаю ошибку сегментации.

std::auto_ptr<MyForm> pForm(new MyForm(3,3));  
QTest::keyPress(pForm.get(), Qt::Key_0);  
QWidget *pWin = QApplication::activeWindow(); 
QCOMPARE(pWin->windowTitle(), QString("My Second Menu")); 

Вопросы:

  • Действительно ли возможно получить текущее активное окно, когда вы просто имитируете нажатия клавиш?
  • Я получаю нулевой указатель при использовании activeWindow. Можно ли в любом случае получить дескриптор окна, которое должно отображаться на экране при нажатии клавиши?

Спасибо ...

1 Ответ

0 голосов
/ 22 ноября 2010

Фрэнк был прав. Окно не было активировано синхронно. Добавление задержки, являющейся параметром keyPress, решило проблему. Спасибо Фрэнк!

...