在Linux中使用QApplication和gTest

时间:2018-01-17 17:12:37

标签: linux qt googletest qapplication

我在Visual Studio中的gTest中使用了QApplication对象。

int argc = 0;
char **argv = 0;
QMainWindow *window;

TEST() {
    app = new QApplication(argc, argv);
    window = new QMainWindow();
// Test Execution 
// Data gathering
    app.exec();
    delete window;
    window = new QMainWindow();
    delete app;
    app = new QApplication(argc, argv);
// Test Execution 
// Data gathering
    app.exec();
}

它运作良好。

如果我使用与Linux相同的代码段,并且在exec()的第二次调用中生成的窗口为空,我必须终止执行。

使用Linux时缺少什么。

进行两次单独测试无效

1 个答案:

答案 0 :(得分:0)

Ronny Brendel在评论中提出了正确的问题。

解决方案不是重新初始化QApplication。

delete app;
app = new QApplication(argc, argv);
必须删除