1
mockのunitestを使って、filedialog.askopenfilename()またはfiledialog.saveasfilename()をどうやって使っていますか? Python 2.xの次のリンクでも同じ質問が返されました。 Unittest Tkinter File DialogUnittest Tkinter Python 3.5のファイルダイアログ
解決策は、私が使用しているPython 3.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)
メソッド1の中で、askopenfilenameを呼び出します。私はaskopenfilenameが ""を返すようにしたいと思います。
私は非常に助けていただければ幸いです。