Skip to content

Instantly share code, notes, and snippets.

@vilmibm
Created June 29, 2016 06:38
Show Gist options
  • Save vilmibm/42474909bed0585f3b6565a6a2cf7cc7 to your computer and use it in GitHub Desktop.
Save vilmibm/42474909bed0585f3b6565a6a2cf7cc7 to your computer and use it in GitHub Desktop.
conditional mocking of open
def foop():
print(open('book.txt', 'r+').read())
print(open('/home/vilmibm/tmp/blark.py').read())
from unittest.mock import Mock, patch
import blark
original_open = open
mock_file = Mock()
mock_file.read.return_value = "BOOOOOOOOKS MMMMMMMMMMMMMM YEAHHHHH\n"
def mock_open(*args):
if args[0] == 'book.txt':
return mock_file
else:
return original_open(*args)
with patch('builtins.open', ) as m:
m.side_effect = mock_open
blark.foop()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment