3 августа 2020 4392
Это последняя статья из нашей серии о внедрение зависимостей и тестировании в 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


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

Какой метод тестирования выбрать: черный, белый или серый ящики?

При разработке программного обеспечения важно правильно подобрать методы тестирования. Это ключевой шаг для того, чтобы гарантировать высокое качество продукта. Понимание различных подходов, таких как тестирование черного, белого и серого ящика, помогает специалистам лучше находить ошибки и улучшать функциональность. Рассмотрим особенности, преимущества и варианты использования этих подходов.

14 мая 2025

Удостоверение, диплом и сертификат: в чем разница и что выбрать

В условиях стремительного развития технологий и постоянных изменений в бизнесе профессиональное развитие стало необходимостью. Особенно это актуально для специалистов в сфере IT и смежных отраслях. После прохождения курсов в учебных центрах слушатели могут получить один из трех типов документов: удостоверение о повышении квалификации, диплом о профессиональной переподготовке или сертификат. Несмотря на внешнюю схожесть, эти документы различаются по юридической силе, назначению и значимости для карьеры. Разберемся в этом подробнее.

12 мая 2025

Выгодный май — на курсы залетай!

Друзья, спешим поделиться отличной новостью — вы можете получить скидки до 40% на наши популярные курсы. Это отличная возможность улучшить навыки и инвестировать в профессиональное развитие по более выгодной цене. Выбирайте направление и подавайте заявку прямо сейчас!

05 мая 2025

Кейс: кастомизация курса по Jira

Кейс по проведению кастомизированного курса «Основы Jira» для крупной российской компании, занимающейся производством цифровой техники.

05 мая 2025

Зачем специалистам по 1С изучать системный анализ и архитектуру ПО

Как системный анализ и архитектура ПО помогают эффективнее работать в 1С.

29 апреля 2025

Банка Nutella, IT, ESG — что общего?

Когда вы читали этикетку на продукте не из-за состава, а из-за ESG-маркировки?

25 апреля 2025

Каковы плюсы и минусы монолитной и микросервисной архитектуры при разработке ИТ-продуктов?

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

25 апреля 2025

Станьте архитектором ПО с выгодой! Только в апреле сэкономьте 20 000 ₽ и получите новый модуль по микросервисам в подарок

24 апреля стартует обучение на комплексной программе «Архитектор ПО. Путь к мастерству в проектировании систем»*.

14 апреля 2025

Архитектурные ошибки в корпоративных системах, которые могут создать проблемы в долгосрочной перспективе

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

Новости
10 апреля 2025

Кейс: Интенсив по управлению проектами для промышленной компании

Мы адаптировали курс по управлению проектами под запрос команды крупной промышленной компании и провели обучение. Вот что из этого вышло.

27 марта 2025

Кейс: Обучение сотрудников крупной компании работе с ClickHouse

Рассказываем, как мы организовали обучение команды работе с этой новой для заказчика технологией и каких результатов достигли.

19 марта 2025

Платформа сертификации IBS получила аккредитацию АПКИТ

Ассоциация предприятий компьютерных и информационных технологий (АПКИТ) приняла новый регламент сертификации ИТ-специалистов.

Новости
10 марта 2025

Специальные акции на учебные программы

У нас отличная новость для всех, кто стремится развивать свои навыки в мире ИТ.

06 марта 2025

Как остановить спам-атаку

Современный цифровой мир не обходится без рисков, и спам-атаки стали одной из наиболее распространенных угроз. Независимо от того, поступают ли они на ваш телефон, электронную почту или мессенджеры, массовые потоки таких сообщений могут быть крайне раздражающими и даже опасными. Спамеры используют эти атаки не только для рекламы, но и для мошенничества, фишинга или распространения вредоносных ссылок.

06 марта 2025

Учебный центр IBS подписал партнерское соглашение с ООО «РусБИТех-Астра», разработчиком российской операционной системы Astra Linux.

Теперь мы можем проводить авторизованное обучение по работе с Astra Linux для специалистов в области информационной безопасности.

17 февраля 2025

Двойная выгода: покупай один курс — получай второй за 50% стоимости!

Воспользуйтесь возможностью изучить более глубокие аспекты одной области — например, при покупке курса по Java, архитектуре ПО, управлению проектами, системному и бизнес-анализу, тестированию ПО и Big Data вы можете получить второй курс этой же тематики за полцены! Не упустите шанс развить свои навыки и поднять свою карьеру на новый уровень. 

29 января 2025

Сертификация преподавателя Java-разработки для крупного провайдера ИТ-обучения

Подтверждение квалификации значимо не только для ИТ-специалистов, работающих в сфере коммерческой разработки, но и для преподавателей, обучающих будущих экспертов в этой области. Делимся историей одного из преподавателей крупного провайдера ИТ-курсов, который успешно прошел Java-сертификацию.

Новости
21 января 2025

Системный аналитик 100 lvl — дорожная карта развития

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

23 декабря 2024

Платформа сертификации IBS признана лучшим digital-решением для корпоративного обучения

Центр сертификации IBS стал обладателем Гран-при премии «Смарт пирамида» — одной из самых престижных российских премий за достижения в области обучения и развития человеческого капитала.

20 декабря 2024

Учебный центр IBS получил сертификат ГОСТ Р ИСО 9001-2015

В октябре 2024 года Учебный центр IBS получил сертификат соответствия ГОСТ Р ИСО 9001-2015. Это важное достижение подтверждает, что мы придерживаемся высоких стандартов качества и результативно управляем образовательными процессами организации.

19 декабря 2024

Не нашли, что искали? — Просто напишите, и мы поможем

Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
Пользователь только что записался на курс ""
Спасибо!
Форма отправлена успешно.