В этом воркшопе-стриме-live-сессии Алексей покажет, как с нуля создать и запустить TDD-цикл для Spring Boot-приложения, с примерами на JUnit 5.
О чем спикер будет рассказывать:
- Зачем вообще тесты? Почему важно писать и поддерживать набор тестов?
- TDD vs Test first vs Test last.
- Лондон против Чикаго.
- С чего начать, когда вообще ничего нет.
- R-G-R цикл, почему это важно.
- Хороший тест не всегда хорошая спецификация.
- Спецификация должна быть специфичной.
- Зоны ответственности (test boundaries).
- Моки и двойники.
- Что мокать, а что нет, как мокать немокируемое.
- Интеграционные тесты — как и зачем?
- Мороженое против кубков (Ice cream cone vs Testing trophy).
- Контракты и интеграция с third party.
- Тестирование БД.
- Тестирование интеграции (REST и сообщения).
- Acceptance или E2E-тестирование.
- Как быть с легаси?
Для этого воркшопа вам понадобится:
- установить любимую IDE — IntelliJ IDEA рекомендуется, но не обязательно. Community Edition вполне хватит. Но можно в общем-то любую;
- клонировать этот репозиторий;
- запустить
./scripts/local.sh init
и проверить, что все собралось без ошибок;
- запустить
./scripts/local.sh start
и посмотреть, что в браузере на http://localhost:3000/rescue
что-то есть;
- запустить тесты и проверить, что все проходит
./scripts/local.sh ci;
- опционально, но желательно — иметь установленный и рабочий Docker (Docker for Mac/Windows или нативный на Linux).
В идеале иметь установленный клиент Zoom, чтобы эксперты могли подключится и помочь разобраться с проблемой.