Как разработать REST-сервис по циклу TDD

Начните с падающего теста одного поведения, реализуйте минимальное решение, затем улучшайте структуру при зелёных тестах. Повторяйте цикл для валидации, чтения и ошибок.

Короткий ответ

Что ответить на собеседовании

Начните с падающего теста одного поведения, реализуйте минимальное решение, затем улучшайте структуру при зелёных тестах. Повторяйте цикл для валидации, чтения и ошибок.

Подробный разбор

Ответ с пояснениями

Условие

Учебный сервис хранит задачи: POST /tasks создаёт задачу с непустым title, GET /tasks/{id} читает её. Неизвестный ID даёт 404. Как организовать разработку по TDD?

Ответ

Начните с падающего теста одного поведения, реализуйте минимальное решение, затем улучшайте структуру при зелёных тестах. Повторяйте цикл для валидации, чтения и ошибок.

Сначала проверьте POST: код 201 и возвращённый ID. Затем чтение созданной записи, пустой title и неизвестный ID. Изолируйте тестовую БД и внешние сервисы. Слои controller, service и repository вводите по ответственности, а не ради формального числа абстракций. Успешная сборка не заменяет проверки API-контракта.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее