Курс будується логічно - від основ до просунутих технік. Кожен модуль дає практичні навички для реальної роботи.
На цьому курсі розпочинають з базових понять. Розглядають типи тестування та принципи модульного тестування. Зʼясовують, що таке модуль і які переваги дає такий підхід. Також обговорюють можливі недоліки.
Перший практичний модуль присвячений 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 місяців після початку навчання.