Фреймворк JUnit 4 / 5: Вводный курс

Чему вы научитесь
- Каркас модульного тестирования JUnit (ver.4 & 5)
- JUnit framework (ver.4 & 5)
Требования
- Базовые знания в области синтаксических конструкций, параметризованных типов (generics) и коллекций
- Basic knowledge of Java syntax, generics and Java Collections Framework
Описание
✰✰✰✰✰ На кого рассчитан этот курс ✰✰✰✰✰
Целевая аудитория состоит из начинающих программистов, которые:
обладают опытом разработки Java-приложений порядка одного года
мало или совсем не знакомы с концепцией модульного тестирования
желают приобрести навыки работы с каркасом JUnit версий 4 и 5 на профессиональном уровне
планируют приступить затем к освоению каркаса Mockito.
✰✰✰✰✰ Постановка задачи ✰✰✰✰✰
JUnit – самый популярный фреймворк для модульного тестирования Java-приложений, а последняя версия этого инструмента, т.е. JUnit 5, обладает еще более полезным и мощным функционалом.
Уверенное владение этим фреймворком станет серьезным активом в портфолио любого начинающего программиста.
Поскольку предыдущая редакция фреймворка до сих пор активно используется, да и кода на ней написано очень много, первая часть курса посвящена функционалу JUnit 4. Во второй части мы рассмотрим наиболее важные особенности JUnit 5, внимательно разберем отличия этих двух версий, а также ознакомимся с теоретическими основами модульного тестирования и рекомендуемыми практиками для создания грамотных юнит-тестов. Третий модуль содержит расширенные темы, в частности, как определять степени охвата тестируемого кода с помощью плагина ECLEmma, как создавать динамические тесты, регистрировать пользовательские расширения, а также как выполнить интеграцию с каркасом Mockito.
✰✰✰✰✰ Чему научится слушатель ✰✰✰✰✰
В ходе обучения слушатели познакомятся:
с методологией модульного тестирования;
с устройством каркаса JUnit;
с практикой тестирования в рамках интегрированной среды разработки Eclipse
а также приобретут начальные знания по каркасу Mockito
После завершения обучения слушатели смогут уверенно использовать данный инструмент для модульного тестирования своих продуктов на двух версиях каркаса: JUnit 4 и JUnit 5, в т.ч. в связке с фреймворком Mockito.
✰✰✰✰✰ Обзор тематики курса ✰✰✰✰✰
Модуль 1 – JUnit 4 (~3,5 часа видеолекций)
Развертывание и настройка учебной среды на базе Eclipse
Запуск юнит-тестов с командной строки
@Test-методы категории assert
Что такое assertion в Java
Методы assertFalse() и assertTrue()
Тестирование объектов
Метод assertArrayEquals()
Аннотации @Before и @After
Аннотации @BeforeClass и @AfterClass
Параметризованные тесты
Тестирование исключений
Тестирование производительности
Аннотации в Java: углубленное знакомство
JUnit «под капотом»: рефлексия в действии
Сборка юнит-тестов в комплекты
Модуль 2 – JUnit 5 и методология модульного тестирования (~3 часа видеолекций)
Миграция на JUnit 5
Краткий исторический экскурс
Классификация тестов ПО
Преимущества модульного тестирования
Грамотные юнит-тесты: принцип FIRST
JUnit 4 / JUnit 5: сходства и отличия
Новые виды ассертов
Новые виды аннотаций
Новый подход к параметризованным тестам
Применение матчеров hamcrest
Модуль 3 – Расширенные темы по JUnit 5 + связка с Mockito (2 ч 40 м видеолекций)
Допущения и класс Assumptions
Параметрические резольверы
Динамические тесты и класс DynamicTest
Пользовательские расширения
Моделирование «черным» и «белым» ящиком
Тестовые дублеры (Dummy Objects, Test Stubs, Mock Objects, Test Spies и Fake Objects)
Интеграция с каркасом Mockito
и многое другое...
Для кого этот курс
- Начинающие инженеры-разработчики ПО на Java
- Beginner Java programmers