0
测试的wxPython控件我有这样的测试案例:没有显示
class MyNiftyPanelTest(unittest.TestCase):
def setUp(self):
self.app = wx.App()
self.frame = wx.Frame(None)
self.sut = SUT(self.frame, -1)
[…]
def tearDown(self):
wx.CallAfter(self.frame.Close)
self.app.MainLoop()
凡SUT
是一类从wx.Panel
这确实的东西继承。当我在X11显示器上的控制台上运行测试时,这很好。没有窗户显示,但很明显的事情发生。
然而,当我通过TOX运行它(是否tox -r
或使用xvfb-run tox -v -r
),我收到以下错误:
SystemExit: Unable to access the X Display, is $DISPLAY set properly
调用self.app = wx.App()
时。
使用
@pytest.mark.skipif(os.getenv('DISPLAY', False) == False,
reason="does not run without a DISPLAY")
运行TOX时没有DISPLAY
但是这意味着我的CI工具(詹金斯)将始终报告错误的测试覆盖我可以跳过这些测试。
我怎样才能让这个测试在无头显示器上工作?
你可以试试[pytest-xvfb](https://pypi.python.org/pypi/pytest-xvfb)。 – phd
@phd嗯,我现在感到羞怯。谢谢! – Sardathrion