在 Linux 中将 QApplication 与 gTest 结合使用
Using QApplication with gTest in Linux
我在 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()
时生成的 windows 是空的,我必须终止执行。
与 Linux 一起工作缺少什么。
进行两个单独的测试也不起作用
Ronny Brendel 在评论中提出了正确的问题。
解决方案是不重新初始化 QApplication。
delete app;
app = new QApplication(argc, argv);
必须删除。
我在 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()
时生成的 windows 是空的,我必须终止执行。
与 Linux 一起工作缺少什么。
进行两个单独的测试也不起作用
Ronny Brendel 在评论中提出了正确的问题。
解决方案是不重新初始化 QApplication。
delete app;
app = new QApplication(argc, argv);
必须删除。