如何使用mock unitest进行模拟文件对话框.askopenfilename()或filedialog.saveasfilename()? Python2.x的以下链接也回答了相同的问题。 Unittest Tkinter File Dialog
这个解决方案不适用于我正在使用的python3.5。在
我尝试了unittest的MagicMock和Patch,但都没用。请看我下面的代码。在
from tkinter.filedialog import *
from unittest.mock import MagicMock
from unittest.mock import patch
# @patch(filedialog.askopenfilename)
def test1(self):
try:
filedialog.askopenfilename = MagicMock(return_value="")
app = class1()
app.method1()
except ValueError as e:
print(e)
@patch(filedialog.askopenfilename)
def test2(self, mock1):
try:
# filedialog.askopenfilename = MagicMock(return_value="")
app = class1()
app.method1() #method1 has filedialog.askopenfilename in it
except ValueError as e:
print(e)
在method1中,它调用askopenfilename。我想使askopenfilename返回“”。在
我将非常感谢你的帮助。在
我知道怎么做。我需要在askopenfilename之前指定类名。在
相关问题 更多 >
编程相关推荐