Это мой код функции и ее модульные тесты, которые тестируют одну и ту же функцию в двух отдельных попытках, за исключением блоков с разными входами:
Скрипт:
from file import myfunction
in main:
try:
myfunction(str_input_1)
except Exceptoin as e:
print("error str_input_1")
try:
myfunction(str_input_2)
except Exceptoin as e:
print("error str_input_2")
Модульные тесты в отдельный файл:
@patch(myfunction)
def call_myfunction_with_str_input_1(self, mock_myfunction):
mock_myfunction.side_effect = Exception("error str_input_1")
myfunction(str_input_1)
mock_myfunction.assert_called_with(str_input_1)
@patch(myfunction)
def call_myfunction_with_str_input_2(self, mock_myfunction):
myfunction(str_input_2)
mock_myfunction.assert_called_with(str_input_2)
Первый тестовый пример проходит нормально, но второй модульный тест также пытается запустить его со значением для первого модульного теста:
raise AssertionError(_error_message()) from cause
AssertionError: Expected call: myfunction(str_input_2)
Actual call: myfunction(str_input_1)