1
爲了測試我的代碼是一個pyqt5應用程序的插件,我正在編寫創建虛擬QApplication對象的測試。travis-ci pyqt應用程序創建失敗
但是,每當我嘗試創建一個QApplication代碼在本地按預期工作,但在Travis中發生段錯誤。
我精確定位的問題下面一行:
qapp = QtWidgets.QApplication([])
這是我得到的錯誤(從特拉維斯記錄所採取的):
tests/idaplugin/test_plugin.py::test_plugin_creation /home/travis/.travis/job_stages: line 53: 2382 Aborted (core dumped) PYTHONPATH=. py.test ./${PROJECT} ./tests/${PROJECT} --verbose --cov-report= --cov=$PROJECT
這裏是特拉維斯-CI工作:https://travis-ci.org/nirizr/rematch/jobs/219490893
而這裏的測試片段:
def test_plugin_creation():
from PyQt5 import QtWidgets
qapp = QtWidgets.QApplication([])
# test be here, requires a QApp to function
plugin = plugin_rematch.PLUGIN_ENTRY()
... extra test code removed ...
這是Travis的問題還是我做錯了什麼?
謝謝!如果我不需要看到任何GUI,但可以使用不同的可見小部件和pytest-qt來自動化與這些小部件的用戶交互,我可以使用QCoreApplication嗎? – NirIzr
不,如果你想使用QtWidgets,你需要使用Xvfb。 –
我明白了。非常感謝! – NirIzr