Как вы используете mock unitest для издевательства filedialog.askopenfilename() или filedialog.saveasfilename()? Тот же вопрос был дан в следующей ссылке для Python 2.x. Unittest Tkinter File DialogUnittest Tkinter File Dialog для Python 3.5
Решение не работает для Python 3.5, что я и использую.
Я попробовал как MagicMock, так и патч от unittest, и ничего не работало. См. Мой код ниже.
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)
Внутри метод1, он вызывает askopenfilename. Я хотел бы сделать askopenfilename return "".
Я очень благодарен за любую помощь.