Встречается на собеседованиях • сегодня

Как протестируешь выполнение запроса данных из бд и их возвращение на веб-сервис

Для тестирования запросов к БД и их возврата через веб-сервис можно использовать комбинацию unittest и mock:

python
import unittest
from unittest.mock import patch
from myapp import app, get_data_from_db

class TestDBWebService(unittest.TestCase):
    @patch('myapp.db_connector.execute_query')
    def test_db_query_and_response(self, mock_execute):
        # Подготовка тестовых данных
        mock_data = [{'id': 1, 'name': 'Test'}]
        mock_execute.return_value = mock_data
        
        # Тестирование endpoint
        with app.test_client() as client:
            response = client.get('/api/data')
            
            # Проверки
            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.json, {'data': mock_data})
            mock_execute.assert_called_once_with("SELECT * FROM test_table")

Ключевые моменты:

  1. Используем mock для замены реального подключения к БД
  2. Проверяем корректность HTTP-ответа
  3. Убеждаемся, что запрос к БД был выполнен с правильным SQL
  4. Проверяем преобразование данных из БД в JSON-ответ

Для интеграционных тестов можно использовать тестовую БД с предзаполненными данными.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы