Тренинг
Test Driven Spring Boot applications

Spring Boot становится все более и более популярным фреймворком/средой для разработки современных Java приложений. Он объединяет в себе множество полезных технологий и подходов “из коробки”, сильно упрощая жизнь разработчика. В то же время, очень много вещей делаются неявно и работают как-то по умолчанию. Кто-то копнул поглубже, разобрался и знает как все устроено внутри, а кто-то просто “плывет по течению”. TDD подход позволяет избежать многих сюрпризов в разработке и специфицировать поведение различных частей приложения еще до их реализации.

Для работы в стиле TDD Spring Boot предоставляет массу возможностей и готовых инструментов. В рамках тренинга будут рассмотрены подходы и техники тестирования на разных слоях классического Spring Boot приложения/сервиса, доступные библиотеки и фреймворки для его упрощения, а также принципы, лежащие в основе данного подхода к разработке и их применимость непосредственно в разрезе использования Spring Boot.

Ну и конечно же, будет много практики. Участники смогут за время тренинга опробовать все предложенные подходы самостоятельно и разработать небольшое полноценное приложение с использованием TDD и Spring Boot.

Целевая аудитория

Java разработчики, технические лиды

Стоимость
$250
за участника
Продолжительность
16 часов
2 дня
Обед включен в стоимость тренинга
При групповой регистрации скидка

Детальная программа

  • Введение, знакомство с участниками, сбор ожиданий
  • Обзор подхода TDD и мотивация его использования
  • Быстрый обзор Spring Boot на примере одного приложения
  • Примеры неявного поведения “из коробки”
  • Введение в unit-тестирование
  • Использование mock objects для изоляции зависимостей
  • Техники тестирования слоя контроллеров
    • Классические unit-тесты
    • Изолированное тестирование одного контроллера
    • Интеграционное тестирование
    • Системное тестирование со стартом всего приложения
    • Практические задания
    • Построение грамотной пирамиды тестов
  • Техники тестирования на уровне бизнес-логики
    • Использование Mockito
    • Поднятие частичного Spring контекста
    • Практические задания
  • Техники тестирования на уровне работы с данными
    • DBUnit и его принципы работы
    • Способы загрузки данных
    • Отключение проверок на уровне БД
    • Использование БД в памяти
    • Миграции с помощью Flyway или Liquibase
    • Практические задания
  • Полный пример разработки REST endpoint по TDD
  • Практическое задание
  • Подведение итогов, вопросы и ответы