如何使用mock unitest来模拟filedialog.askopenfilename()或filedialog.saveasfilename()? Python 2.x的以下链接回答了同样的问题。 Unittest Tkinter File Dialog
该解决方案不适用于我正在使用的Python 3.5。
我从单元测试中尝试了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返回""。
我非常感谢任何帮助。