Back to questions
Junior — Middle
63
Что необходимо сделать, если в юнит-тесте вызывается внешний сервис или ресурс?
Answer from AI
sobes.tech AI
Если в юнит-тесте вызывается внешний сервис или ресурс, необходимо изолировать тест от этих внешних зависимостей. Для этого используют мокирование (mocking) или стабирование (stubbing) — замену реальных вызовов на имитации, которые возвращают предсказуемые результаты.
Это позволяет:
- Сделать тесты быстрыми и надежными.
- Избежать сбоев из-за недоступности внешних сервисов.
- Тестировать логику обработки ответов без реального вызова.
В Python для этого часто используют библиотеку unittest.mock:
from unittest.mock import patch
@patch('module.external_service_call')
def test_function(mock_service):
mock_service.return_value = 'expected result'
result = function_under_test()
assert result == 'expected result'
Таким образом, реальный вызов заменяется на контролируемый мок.