Чтобы использовать mock_open для простого файла read()
(исходный фрагмент mock_open , уже указанный на этой странице , больше предназначен для записи):
my_text = "some text to return when read() is called on the file object"
mocked_open_function = mock.mock_open(read_data=my_text)
with mock.patch("__builtin__.open", mocked_open_function):
with open("any_string") as f:
print f.read()
Обратите внимание, что в отношении docs для mock_open это специально для read()
, поэтому не будет работать, например, с обычными шаблонами, например for line in f
.
Использует python 2.6.6 / mock 1.0 .1