Unit testing QT:单元测试分段故障
下面是模拟菜单上按键的代码块。我可以深入浏览我的应用程序的菜单,但当我返回到主窗体时,我得到了一个分割错误( 首先,我展示我的应用程序:Unit testing QT:单元测试分段故障,unit-testing,qt,user-interface,segmentation-fault,qtestlib,Unit Testing,Qt,User Interface,Segmentation Fault,Qtestlib,下面是模拟菜单上按键的代码块。我可以深入浏览我的应用程序的菜单,但当我返回到主窗体时,我得到了一个分割错误( 首先,我展示我的应用程序: std::auto_ptr<MyForm> mainForm( new MyForm( 3, 3 )); mainForm->show(); 然后模拟另一次按键以返回到我的主应用程序: QTest::keyPress(pWin, Qt::Key_Escape, NULL, 300); QTest::keyRelease(pWin, Qt::
std::auto_ptr<MyForm> mainForm( new MyForm( 3, 3 ));
mainForm->show();
然后模拟另一次按键以返回到我的主应用程序:
QTest::keyPress(pWin, Qt::Key_Escape, NULL, 300);
QTest::keyRelease(pWin, Qt::Key_Escape, NULL, 300);
pWin = QApplication::activeWindow();
QCOMPARE(QString(pWin->objectName()), QString("MainForm"));
这就是我遇到分段错误的地方…有人能告诉我是什么导致了这个错误吗?首先从文档中检查
QApplication::activeWindow()
的结果
返回应用程序的顶层
具有键盘输入的窗口
焦点,如果没有应用程序窗口,则为0
有焦点,可能会有
activeWindow()即使没有
focusWidget(),例如,如果没有
窗口中的小部件接受密钥
事件
首先检查文档中的
QApplication::activeWindow()
。的结果
返回应用程序的顶层
具有键盘输入的窗口
焦点,如果没有应用程序窗口,则为0
有焦点,可能会有
activeWindow()即使没有
focusWidget(),例如,如果没有
窗口中的小部件接受密钥
事件
QTest::keyPress(pWin, Qt::Key_Escape, NULL, 300);
QTest::keyRelease(pWin, Qt::Key_Escape, NULL, 300);
pWin = QApplication::activeWindow();
QCOMPARE(QString(pWin->objectName()), QString("MainForm"));