Я пытаюсь смоделировать open и хочу проверить, вызывается ли close хотя бы раз
class MyObject():
def __init__(self,path):
fp = open(path)
self.file_list = []
for line in fp:
self.file_list.append(line.strip())
fp.close()
def testsimpleFile():
fake_file = io.StringIO("data.csv\ndata2.csv")
with patch("builtins.open",return_value=fake_file,create=True) as mock_file:
f = MyObject("path/to/open/test.f")
mock_file.assert_called_once_with("/path/to/open/test.f")
golden_list = ["data.csv","data2.csv"]
assert f.file_list == golden_list
Это мой рабочий тестовый код до сих пор, и теперь я хочу дополнительно проверить, был ли вызван метод closeя попытался добавить
mock_file.close.assert_called_once()
и
mock_file.fake_file.close.assert_called_once()
, но оба не поймают вызов метода.