我正在使用PyQt4在Python 3.5中开发一个应用程序,我想使用QTest进行单元测试。到目前为止,除了这个问题,我设法用QTest做任何我想做的事情:
我的窗口作为文件夹按钮,当您单击它时,打开文件对话框以选择文件夹(经典)。这或(或多或少)写得像我的代码中那样:
self.file_dialog = QtGui.QFileDialog()
[...]
tmp_path = self.file_dialog.getOpenFileName(self, caption='toto', filter="*.csv")
我的问题是在QTest中,当它出现时我无法找到关闭此对话框的方法。
我已经尝试过调用它的close()或reject()方法(直接或使用单发计时器),但这些似乎都不起作用......
有没有我没想过的解决方案?我不介意关闭所有窗口,如果有必要(但我不能这样做)
谢谢!
答案 0 :(得分:0)
据我所知,您不应在测试中使用静态方法(例如getOpenFileName
),因为您无法控制对话框窗口的打开。相反,您应该使用构造函数,设置所需的选项,然后仅在真实代码中(而不是在测试中)调用self.file_dialog.exec_()
。