Курс строится логически - от основ до продвинутых техник. Каждый модуль дает практические навыки для реальной работы.
На этом курсе начинают с базовых понятий. Рассматривают типы тестирования и принципы модульного тестирования. Выясняют, что такое модуль и какие преимущества дает такой подход. Также обсуждают возможные недостатки.
Первый практический модуль посвящен JUnit 5. Здесь показывают отличия от предыдущих версий. Учат писать параметризованные тесты и измерять покрытие кода с помощью JaCoCo. Это основа для всех последующих занятий.
Здесь учат работать с зависимостями. Показывают, как создавать моки с помощью Mockito. Ученики учатся тестировать код с внешними зависимостями и правильно обрабатывать исключения. Это ключевой навык для реальных проектов.
Модуль углубляет работу с Mockito. Здесь учат использовать кастомные матчеры для аргументов. Показывают, как настраивать поведение моков с помощью MockSettings. Учат работать со шпионами, использовать Answer и захватывать аргументы через ArgumentCaptor.
Этот модуль раскрывает более сложные сценарии. Здесь показывают, как тестировать void методы и какие подводные камни могут возникать. Учат тестировать абстрактные классы и статические методы. Для последнего рассматривают PowerMock в комбинации с Mockito.
Модуль посвящен TDD - от концепции до практики. Объясняют, что такое тест-ориентированная разработка и как она работает. На примерах с JUnit 5 и Mockito показывают, как применять TDD в реальных проектах.
Здесь переходят к BDD - более структурированному подходу. Объясняют принципы поведенчески-ориентированной разработки. Учат писать тесты в стиле BDD с использованием JUnit 5 и BDDMockito для более понятных спецификаций.
Этот модуль расширяет инструментарий тестировщика. Здесь знакомят с мутационным тестированием через PITest. Учат базовым принципам архитектурного тестирования с ArchUnit. Показывают, как улучшить читабельность тестов с помощью AssertJ. Также рассматривают обеспечение неизменности ресурсов.
Завершающий модуль систематизирует знания. Здесь собирают лучшие практики модульного тестирования с JUnit 5 и Mockito. Также рассматривают типичные антипаттерны - распространенные ошибки, которых стоит избегать. Это помогает писать более качественный код.
Курс завершается итогами и рекомендациями относительно дальнейшего развития. Ученики получают четкое представление о следующих шагах в изучении модульного тестирования.
К курсу добавляют рекомендованные материалы для углубления знаний. Среди них - официальная документация JUnit 5 и Mockito, примеры ArchUnit с GitHub и документация AssertJ.
Курс проходит онлайн и включает тесты и практические задания. Ученики могут получать помощь в чате. Доступ к материалам открыт в течение 6 месяцев после начала обучения.