3 августа 2020 5196
Это последняя статья из нашей серии о внедрение зависимостей и тестировании в JUnit 5. В ней мы поговорим о параметризованных тестах.
Предыдущая часть из серии по ссылке.

Это последняя статья из нашей серии о внедрение зависимостей и тестировании в JUnit 5. В ней мы поговорим о параметризованных тестах.

3. Параметризованные тесты

Параметризованные тесты позволяют проводить тест несколько раз с разными аргументами. Главное преимущество в том, что можно написать один тест и проводить тестирование с рядом различных аргументов. Такие тесты будут безопаснее, и с их помощью можно проверять различные вводные данные. Методы аннотируются с помощью @ParameterizedTest. Необходимо декларировать как минимум один источник, который предоставляет аргументы для каждого вызова и затем использует эти аргументы в тестовом методе.

@ValueSource — это самый простой из возможных источников. Необходимо указать единый массив литеральных значений для предоставления одного аргумента на каждый вызов параметризованного теста. Использование этой аннотации показано в Примере 4 (Listing 4). Сценарий теста предполагает проверку числа слов в нескольких данных предложениях, данных в качестве параметров.

Listing 4

В примере выше мы делаем следующее:

  1. Отмечаем тест как параметризованный, используя соответствующую аннотацию (1).

  2. Затем указываем значения, передаваемые в качестве аргумента тестового метода (2). Тестовый методы выполняется дважды, по одному разу для каждого из аргументов, предоставленных с помощью аннотации @ValueSource.

@EnumSource дает возможность использовать экземпляры enum. Эта аннотация обеспечивает параметр опциональных имен, который позволяет указать, какие экземпляры должны быть использованы или исключены. По умолчанию используются все экземпляры enum.

В Примере 5 (Listing 5) показано использование аннотации @EnumSource для проверки числа слов в данных предложениях, предоставленных как экземпляры enum.

Listing 5

В приведенном выше примере представлен один параметризованный тест. Он работает следующим образом:

  1. Тест получает в качестве параметров CSV-файл, указанный в аннотации @CsvSource (1). Этот тест выполняется три раза, по одному для каждой строки CSV-файла.

  2. Строка CSV-файла анализируется, и первое значение присваивается параметру expected, а второе значение присваивается параметру sentence.

@CsvFileSource позволяет использовать CSV-файлы из переменной classpath. Каждая строка CSV-файла запускает одно выполнение параметризованного теста.

В Примере 6 (Listing 6) показано использование аннотации @CsvFileSource, а в Примере 7 (Listing 7) показано содержимое файла word_counter.csv на classpath. Сценарий теста предполагает проверку числа слов в нескольких данных предложениях, данных в качестве параметров, на этот раз в формате CSV, имеющим CSV-файл в качестве ресурса для ввода данных.

Listing 6

Listing 7

В приведенном выше примере представлен один параметризованный тест. В качестве параметров он получает параметры, содержащиеся в файле, указанном в аннотации @CsvFileSource (1). Этот тест выполняется три раза, по одному для каждой строки CSV-файла. Строка CSV-файла анализируется, и первое значение присваивается параметру expected, а второе значение присваивается параметру sentence.

Заключение

В этой серии статей рассмотрены новые возможности предоставления параметров для модульного тестирования в JUnit 5 с помощью внедрения зависимостей. Мы показали, как это делать эффективно с помощью различных распознавателей параметров (TestInfoParameterResolver, TestReporterParameterResolver, RepetitionInfoParameterResolver). Кроме того, показано, как писать повторяющиеся и параметризованные тесты (аннотации @RepeatedTest и @ParameterizedTest).


Автор Catalin Tudose, Java and Web Technologies Expert


Последние статьи в блоге

Февраль 2026: Разбираем тренды, прокачиваем архитектуру и учимся договариваться с ИИ. Бесплатные вебинары для ИТ-специалистов

Февраль — месяц, когда уже видны цели на год, но еще есть время скорректировать курс и зарядиться новыми знаниями.

Новости
06 февраля 2026

Как ИТ-компании могут компенсировать до 10 млн ₽ на обучении сотрудников в 2026 году

Как аккредитованный учебный центр, специализирующийся на подготовке ИТ-специалистов, мы не только проводим программы дополнительного профессионального образования, но и помогаем корпоративным клиентам корректно оформить документы для участия в программе «Субсидия на обучение сотрудников» Департамента предпринимательства и инновационного развития города Москвы. В этой статье — структурированный обзор условий, требования к компаниям и сотрудникам, а также как мы можем помочь вам при подаче заявки.

Жизнь компании
20 января 2026

Архитекторы vs Рутина: Как открытый вебинар за 2 недели превратился в кастомный ИИ-интенсив

В Учебном центре IBS мы регулярно проводим бесплатные вебинары для ИТ-специалистов. Это наша философия — делиться реальными знаниями, а не просто давать рекламу. Один из таких вебинаров, посвященный практическому применению ИИ в инженерии, посетили сотрудники крупной компании — лидера в спортивном ритейле.

12 января 2026

Чистая выдумка: Как придумать класс, которого нет, и спасти проект от хаоса

Знакомо: вы описываете требования, рисуете сущности — Клиент, Заявка, Документ… А потом система превращается в «комок» с сильной связанностью (big ball of mud), где любое изменение стоит как полпроекта?

Новости
16 декабря 2025

Федеральное признание: нашу программу по системному анализу признали лучшей ИТ-программой в стране

Программа Учебного центра IBS «Системный аналитик. Уровень Специалист» признана лучшей ИТ-программой онлайн-обучения в России по итогам премии «СМАРТ ПИРАМИДА — 2025»!

16 декабря 2025

Бизнес-аналитик 2.0: как меняется профессия и какие навыки теперь нужны

Когда-то бизнес-аналитик ассоциировался с человеком, который «пишет ТЗ». Сегодня этого явно недостаточно. Современный БА — это стратег, коммуникатор и системный мыслитель, который одинаково уверенно чувствует себя в бизнес-контексте и технических деталях. Чтобы не застрять в прошлом, важно понимать, как эволюционирует роль аналитика и какие компетенции становятся критически важными.

Новости
05 декабря 2025

Обратная сторона Event-Driven: Почему Мартин Фаулер призывает к осторожности?

Вы узнаете один из 4 ключевых паттернов EDA и поймете, как избежать главной ловушки, в которую попадают многие команды.

Новости
25 ноября 2025

Скидка 30% на 8 курсов декабря

Год близится к завершению, и пока другие подводят итоги, вы можете сделать самую выгодную инвестицию — в себя. Мы собрали 8 курсов со скидкой 30%*, которые стартуют в начале декабря, чтобы вы могли точно успеть пройти обучение до конца года и прийти к новым карьерным целям с обновлённым стеком технологий.

Новости
20 ноября 2025

Осенний апдейт карьеры: от -30% до -50% на курсы ноября!

Только сейчас: скидки от 30% до 50%* на ноябрьские курсы для тех, кто хочет быть на шаг впереди в IT. Практические программы помогут укрепить ключевые навыки и выйти на новый уровень профессиональной зрелости. Успейте подать заявку, чтобы воспользоваться предложением.

Новости
23 октября 2025

Как одновременно заварить кофе для 10 000 сотрудников — и еще 7 неожиданных вопросов архитектору ПО

Как убедить заказчика отказаться от Excel, зачем архитектору опыт кодинга и почему эволюция ПО похожа на эволюцию живых существ?

Новости
21 октября 2025

Как живые вебинары повышают эффективность ИТ-обучения

ИТ-рынок сегодня меняется стремительнее, чем когда-либо: появляются новые технологии, фреймворки и подходы.

Новости
06 октября 2025

ИИ в разработке ПО: преимущество или риск

Инструменты на базе искусственного интеллекта все чаще используются при создании программного обеспечения. Рассмотрим, какие задачи помогает решать ИИ и какие опасности несет

Новости
24 сентября 2025

Чему нас учит ИИ: как стать идеальным сотрудником

Сейчас чаще говорят об этике использования ИИ — как не получить плагиат или не доверить слишком много, но при этом редко задумываются о другой стороне медали: этична ли наша работа?

Новости
12 сентября 2025

Как ИИ действительно влияет на продуктивность разработчика: неожиданные выводы из исследований

За последние пару лет у многих разработчиков в редакторах и IDE поселились новые «напарники» — всевозможные ИИ-инструменты. Обещания были впечатляющие: меньше рутины, быстрее релизы, код пишется почти сам. Но когда первые восторги улеглись и появились системные исследования, стало ясно: эффект от ИИ далеко не такой однозначный. Где-то он действительно ускоряет работу команд на 20%, а где-то, наоборот, тормозит опытных инженеров. И вот парадокс: даже там, где выигрыш в скорости очевиден, бизнес не всегда чувствует, что проекты двигаются быстрее.

Новости
08 сентября 2025

Сквозная логика: от бизнес-процесса к реализации без потерь

Главный принцип работы с проектной документацией — поддерживать её связность и актуальность. Любая, даже самая детальная схема (BPMN, Use Case, C4), мгновенно теряет ценность, если она конфликтует с другой. Узнаёте? Сначала все силы бросают на «личный кабинет», но после пары спринтов главным внезапно становятся «возвраты». В результате возникает опасный разрыв: цели проекта, реализуемый функционал и схемы, которые должны их описывать, живут своей жизнью. Документация превращается в «мёртвые зоны», которые больше не отражают реальность.

29 августа 2025

Заказная разработка ПО в IBS: безопасная разработка и доставка

В этой статье начальник отдела DevOps компании IBS Артур Галеев расскажет об опыте внедрения принципов безопасной разработки, используемых инструментах и нормативных актах, на которые стоит опираться.

Новости
26 августа 2025

Сертификация ИТ-специалистов: точная оценка ваших компетенций

В ИТ-мире важно не просто обладать знаниями, но и четко понимать свой реальный уровень владения теми или иными навыками.

Новости
22 августа 2025

Группа компаний IBS запускает национальную сертификацию для бизнес-аналитиков

Центр сертификации IBS запускает новую систему оценки квалификации бизнес-аналитиков, которая сочетает международные стандарты c особенностями российского рынка. Программа ориентирована на теоретическую базу и прикладные навыки, необходимые в работе бизнес-аналитика в современных ИТ- и цифровых проектах.

Жизнь компании
20 августа 2025

От разработчика к тренеру: как превратить экспертизу в стабильный доход

Часто к преподаванию переходят после достижения «карьерного потолка»: на уровне сеньора процессы отлажены, и новые вызовы исчезают. Однако вместо того чтобы долго преподавать за символическую плату, можно сосредоточиться на создании системного заработка. Разберём реальные способы: от коучинга до запуска курсов.

Новости
13 августа 2025

Установка и настройка брокера сообщений Kafka на Windows

Цель задания: научиться устанавливать и настраивать Apache Kafka на операционной системе Windows, а также выполнять базовые операции с топиками и сообщениями.

21 июля 2025

Нужна помощь? Оставьте заявку, и мы свяжемся с вами в ближайшее время

Согласен получать на e-mail информационные рассылки о новостях компании IBS Training
Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог Личный кабинет
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.