Python 运行时错误:无法打开显示
我有一个单元测试,它包含Python 运行时错误:无法打开显示,python,pygtk,tox,Python,Pygtk,Tox,我有一个单元测试,它包含 import gtk 其中包含用于测试信号处理程序和GUI类的单元测试。当我在shell中运行py.test时,这可以正常工作,因为我连接了X11显示器。但是,当我尝试运行tox时,我得到: ______________________ ERROR collecting tests/test_gui.py ______________________ tests/test_gui.py:17: in <module> from rprs_boots
import gtk
其中包含用于测试信号处理程序和GUI类的单元测试。当我在shell中运行py.test
时,这可以正常工作,因为我连接了X11显示器。但是,当我尝试运行tox时,我得到:
______________________ ERROR collecting tests/test_gui.py ______________________
tests/test_gui.py:17: in <module>
from rprs_bootstrap.gui import GUI
src/gui.py:12: in <module>
import gtk.glade
.tox/py27/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py:64: in <module>
_init()
.tox/py27/lib/python2.7/site-packages/gtk-2.0/gtk/__init__.py:52: in _init
_gtk.init_check()
E RuntimeError: could not open display
!!!!!!!!!!!!!!!!!!!! Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!
=========================== 1 error in 0.34 seconds ============================
make: *** [tox] Error 2
收集测试时出错/test\gui.py______________________
测试/测试gui.py:17:in
从rprs_bootstrap.gui导入gui
src/gui.py:12:in
进口gtk.glade
.tox/py27/lib/python2.7/site packages/gtk-2.0/gtk/_init_uuu.py:64:in
_init()
.tox/py27/lib/python2.7/site packages/gtk-2.0/gtk/_init__.py:52:in_init
_gtk.init_check()
E运行时错误:无法打开显示
!!!!!!!!!!!!!!!!!!!! 中断:在1次失败后停止!!!!!!!!!!!!!!!!!!!!
===========================================0.34秒内出现1个错误============================
制造:**[tox]错误2
我可以从tox.ini
中启动一个服务器,但这似乎不雅观。有什么建议吗?使用
哪个
[…]使用Xvfb运行测试套件,以避免在测试过程中弹出窗口
GUI测试或允许它们在没有显示器的系统上运行(如
CI)
要安装:
pip install pytest-xvfb
PyTestXVFB在你的回答中似乎很好,但是为什么你要考虑用XVFB不雅来运行你的测试?@ BHRAX:它涉及安装不全开发人员都可能拥有的系统范围的包。这是另一个让人抓狂的依赖项,它正等着把事情搞得一团糟,就像一个邪恶的小淘气鬼在它那双死气沉沉、漠不关心的眼睛里恶作剧一样。我最初有着完全相同的心理反对(WRT pytests xvfb:-),但我想它的优点是,你可以将pytests xvfb作为受控开发环境的一部分,而不是“系统范围的”即使您需要安装Xvfb才能真正使用它,也要安装它吗?