Я немного осмотрелась на SO, но не нашла то, что искала, я почти уверена, что на это ответили в другом месте. Таким образом, в моей функции есть две записи файла:
def write_files():
with open("a.txt", 'w') as f_h:
f_h.write("data1")
with open("b.txt", 'w') as f_h:
f_h.write("data2")
Как избирательно издеваться над f_h.write (), чтобы одна возвращала исключение, а другая - нет? Я пытался установить side_effect, но не ясно, где это подходит. Тестовый код, с которым я экспериментировал, имеет что-то вроде этого:
from unittest.mock import patch, call, mock_open
import unittest
class Tester(unittest.TestCase):
def test_analyze(self):
with patch("builtins.open", mock_open(read_data="data")) as mf:
# mf.side_effect = [None, Exception()] ?
write_files()
if __name__ == '__main__':
unittest.main()