【发布时间】:2020-06-26 18:47:14
【问题描述】:
我的 (python) Qt gui 有一些单元测试,它们需要 QApplication 实例,但创建一个对我来说总是失败(即以核心转储和应用程序终止与QApplication() 一致)。到目前为止我尝试过的是:
- 创建方法:
- 模块级别的普通
app = QApplication() app = QApplication(['--platform offscreen'])- 使用 pytest-qt 中的夹具来管理 QApplication 对象的创建,即将
qtbot传递给我的测试
- 模块级别的普通
- 我什至尝试了 qt 的两个 python 端口,即:
- PyQt5
- PySide2
- 虚拟屏幕:
- 我试过运行
xvfb - 我还尝试在 Xvfb 之上使用窗口管理器
herbstluftwm - 我已尝试按照QApplication instance/qtbot fixture causes travis-ci to abort and core dump 中的建议安装
x11-utils libxkbcommon-x11-0
- 我试过运行
我已尝试使用https://github.com/nektos/act 在本地调试此问题,但使用此方法问题无法重现(即一切都按预期工作),直到我添加了herbstluftwm,即我唯一能够实现的是在本地它也开始失败。
我还能检查什么?您是否看到在 github 操作上成功创建了 QApplication?
顺便提一句。如何让 Qt 的输出在 github 操作中可见? (我已经添加了env: QT_DEBUG_PLUGINS: 1 并且仍然看不到任何错误)
【问题讨论】:
标签: python pyqt5 pyside2 github-actions pytest-qt