JUnit Testcases в Java: простое руководство по JUnit 5.7.1 Hello World с подробностями «все в одном»

Опубликовано: 2019-10-30
java-junit-пример

Что такое Юнит?

JUnit — это простая, мощная среда с открытым исходным кодом для написания и запуска повторяемых тестов. Я люблю тестовые примеры JUnit. Во время разработки моего Java-проекта я широко использую JUnit для покрытия кода. Это экземпляр архитектуры xUnit для фреймворков модульного тестирования.

Возможности JUnit включают в себя:

  1. Утверждения для тестирования ожидаемых результатов
  2. Тестовые приспособления для обмена общими тестовыми данными
  3. Test runners для запуска тестов

В этом уроке я расскажу о пунктах 1 и 3. В вашем проекте вам понадобятся следующие зависимости maven.

Приступим к написанию кода.

Шаг 1

Создайте проект CrunchifyJunitTest и укажите пакет com.crunchify.junit . Вот структура пакета для быстрого ознакомления.

Crunchify JUnit Project Eclipse Structure

Шаг 2

Щелкните правой кнопкой мыши CrunchifyJunitTest => Новый класс => CrunchifyJunitTest.java

Шаг 3

Eclipse предложит и автоматически добавит зависимость org.junit.Test , как только вы наберете @Test .

Зависимость Maven от Eclipse Test

Шаг-4

Чтобы протестировать тест JUnit

  • Щелкните правой кнопкой мыши по классу
  • Нажмите «Запуск от имени»
  • Нажмите на JUnit Test

Вы должны увидеть что-то вроде этого.

JUnit тест прошел успешно

Шаг-5

Попробуйте изменить параметр ожидаемого значения метода с 30 => 300 и с Hello World => Hello -- World и снова проверьте.

Ошибка теста JUnit — советы Crunchify

Шаг-6

Теперь давайте запустим тот же тестовый пример via other java -программы. Создайте CrunchifyRunnerJUnit.java

Шаг-7

Запустите CrunchifyRunnerJUnit.java как Java Application .

Шаг-8

В случае 1- 1st code (правильный ожидаемый параметр) вы должны увидеть такой вывод:

Шаг-9

В случае 2- 2nd code (неверный ожидаемый параметр) вы должны увидеть что-то вроде этого:

И все готово. Дайте мне знать, если вы обнаружите какие-либо проблемы с запуском этого кода.

Учебное пособие по JUnit от Crunchify

Доступная аннотация в тестовом примере JUnit:

Аннотация

Описание

@Test публичный недействительный метод () Аннотация @Test указывает, что метод является методом тестирования.
@Перед публичным недействительным методом() Будет выполнять метод перед каждым тестом. Этот метод может подготовить тестовую среду (например, прочитать входные данные, инициализировать класс).
@После метода public void() Будет выполнять метод после каждого теста. Этот метод может очистить тестовую среду (например, удалить временные данные, восстановить значения по умолчанию).
Публичный недействительный метод @BeforeClass() Выполнит метод один раз, перед началом всех тестов. Это можно использовать для выполнения трудоемких действий, например, для подключения к базе данных.
Публичный недействительный метод @AfterClass() Выполнит метод один раз после завершения всех тестов. Это можно использовать для выполнения действий по очистке, например, для отключения от базы данных.
@Игнорировать Будет игнорировать метод тестирования. Это полезно, когда базовый код был изменен, а тестовый пример еще не адаптирован. Или если время выполнения этого теста слишком велико, чтобы его можно было включить.
@Test (ожидаемый = Exception.class) Сбой, если метод не выдает указанное исключение.
@Тест (время ожидания = 100) Сбой, если метод занимает больше 100 миллисекунд.

Доступные методы проверки утверждений:

Заявление

Описание

сбой (строка) Пусть метод не работает. Может использоваться для проверки того, что определенная часть кода не достигнута. Или иметь неудачный тест до того, как тестовый код будет реализован.
assertTrue (истина) / assertTrue (ложь) Всегда будет верно/ложно. Может использоваться для предварительного определения результата теста, если тест еще не реализован.
assertTrue([сообщение], логическое условие) Проверяет, что логическое условие истинно.
assertsEquals([Строковое сообщение], ожидаемое, фактическое) Проверяет, что два значения совпадают. Примечание: для массивов проверяется ссылка, а не содержимое массивов.
assertsEquals([Строковое сообщение], ожидаемое, фактическое, допуск) Проверьте, совпадают ли значения float или double. Допуск — это количество десятичных знаков, которое должно быть одинаковым.
assertNull([сообщение], объект) Проверяет, что объект является нулевым.
assertNotNull([сообщение], объект) Проверяет, что объект не является нулевым.
assertSame([String], ожидаемый, фактический) Проверяет, что обе переменные относятся к одному и тому же объекту.
assertNotSame([String], ожидаемый, фактический) Проверяет, что обе переменные относятся к разным объектам.