Linux 是否可以只使用控制台而不使用UI使用wxWidgets运行单元测试?

Linux 是否可以只使用控制台而不使用UI使用wxWidgets运行单元测试?,linux,unit-testing,gtk,wxwidgets,Linux,Unit Testing,Gtk,Wxwidgets,我正在尝试对使用wxWidgets窗口的代码运行一些单元测试。在此过程中,将创建窗口,但从不显示。这在有显示器的Linux下运行良好,但在没有X或任何其他UI/显示器的构建系统上则不行 我得到的错误是:“无法初始化GTK+,显示设置是否正确?” 是否可以在没有显示器的情况下对wxWidgets进行单元测试?我希望有一种方法可以让存根或“null”显示真正不存在,但允许执行单元测试 如前所述,我不需要实际显示任何窗口,但通过在具有UI的系统上进行的工作测试,我确实需要初始化应用程序,并创建一个顶级

我正在尝试对使用wxWidgets窗口的代码运行一些单元测试。在此过程中,将创建窗口,但从不显示。这在有显示器的Linux下运行良好,但在没有X或任何其他UI/显示器的构建系统上则不行

我得到的错误是:“无法初始化GTK+,显示设置是否正确?”

是否可以在没有显示器的情况下对wxWidgets进行单元测试?我希望有一种方法可以让存根或“null”显示真正不存在,但允许执行单元测试

如前所述,我不需要实际显示任何窗口,但通过在具有UI的系统上进行的工作测试,我确实需要初始化应用程序,并创建一个顶级窗口,如下所示:

wxEntryStart(argc, argv);
wxTheApp->OnInit();
wxFrame frame(nullptr, wxID_ANY, "Test Frame");
wxTheApp->SetTopWindow(&frame);

您可以设置服务器(或Xvnc服务器),并将其用作虚拟显示。

您可以设置服务器(或Xvnc服务器),并将其用作虚拟显示。

您使用的库版本是什么?最新版本-3.1+-都使用TravisCI和AppVeyor。我相信库本身确实在它们上面运行单元测试套件。您可以查看它是如何完成的,也可以在wx dev ML上询问,有人将能够进一步详细解释它。您使用的库的版本是什么?最新版本-3.1+-都使用TravisCI和AppVeyor。我相信库本身确实在它们上面运行单元测试套件。您可以查看它是如何完成的,或者只是在wx dev ML上询问,有人将能够进一步详细地解释它。