Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing QT:单元测试分段故障_Unit Testing_Qt_User Interface_Segmentation Fault_Qtestlib - Fatal编程技术网

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"));