1
你如何使用mock unitest來模擬filedialog.askopenfilename()或filedialog.saveasfilename()?在Python 2.x的以下鏈接中回答了同樣的問題。 Unittest Tkinter File DialogUnittest Tkinter文件對話框爲Python 3.5
該解決方案不適用於我正在使用的Python 3.5。
我試過MagicMock和單元測試補丁,沒有任何工作。請參閱下面的代碼。
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返回「」。
我將不勝感激任何幫助。