Junior
18
Как тестировать работу приложения с внешними зависимостями (юнит-тесты)?
Компании, где спрашивали
Почтатех
Ответ от нейросети
sobes.tech AI
Для юнит-тестирования кода с внешними зависимостями в Python обычно используют мок-объекты (mock). Это позволяет изолировать тестируемый код от реальных внешних сервисов, баз данных, API и т.д.
Основные подходы:
- Использовать модуль
unittest.mockдля замены реальных вызовов на заглушки. - Мокать функции, методы или объекты, которые взаимодействуют с внешними системами.
- Настраивать возвращаемые значения и проверять вызовы моков.
Пример:
from unittest import TestCase
from unittest.mock import patch
class MyService:
def fetch_data(self):
# Представим, что здесь запрос к внешнему API
pass
class TestMyService(TestCase):
@patch('path.to.module.MyService.fetch_data')
def test_fetch_data(self, mock_fetch):
mock_fetch.return_value = {'key': 'value'}
service = MyService()
result = service.fetch_data()
self.assertEqual(result, {'key': 'value'})
mock_fetch.assert_called_once()
Такой подход позволяет тестировать логику без реального вызова внешних сервисов.