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