我正在为一个PyQt应用编写单元测试,它严重依赖信号和槽。为了正确地进行测试,我必须检查是否发送了正确的信号。
最佳方法是什么?我看到Qt库有一个QSignalSpy,但我在PyQt中找不到任何参考。我唯一能想到的选择是模拟发射,例如:
import testedmodule
def myemit(signal):
....
testedmodule.QObject.emit = myemit
但我希望有更好的方法。
编辑:
我的模块作为线程运行,在这种情况下,覆盖实例的发射不再起作用,因此我更新了上面的代码以反映这一点。