Этот пост был первоначально опубликован на Средний .
В этой статье мы узнаем, как включить JUnit 5 во вновь созданном проекте Spring Boot. Мы проходим следующие этапы:
- Инициализировать новый проект весенней загрузки
- Взглянув на наш
pom.xmlи в основном наspring-boot-starter-тестзависимость, немного углубляясь вspring-boot-starter-тести посмотрите, какая версия JUnit он использует - Как исключить дочернюю зависимость, возникающую из одной из наших зависимостей, с помощью Maven
- Добавить JUnit 5
- Перенесите JUnit 4 в JUnit 5
1) Сначала давайте перейдем к Инициализации Spring Boot и создадим новый проект.
Значения по умолчанию должны быть в порядке, и вы можете нажать кнопку “Создать проект”. Вы должны были загрузить zip-архив проекта начальной загрузки Spring. Распакуйте его и откройте с помощью IDE по вашему выбору (я использую IntelliJ, и из него будут показаны следующие примеры кода и примеры). Открыв его, вы должны увидеть следующую структуру:
2) Теперь давайте сосредоточимся на pom.xml .
В вашем pom.xml мы видим следующую зависимость, которая включает библиотеки (такие как JUnit, Hamcrest и Mockito) для тестирования приложений Spring Boot.
org.springframework.boot spring-boot-starter-test test
Мы немного углубимся, чтобы увидеть точные зависимости и их версии, сосредоточив внимание на junit , с которым поставляется spring-boot-starter-test (в IntelliJ вы можете сделать это Ctrl + щелчок на spring-boot-starter-test . В приведенном ниже фрагменте мы видим, что spring-boot-starter-test поставляется с JUnit 4.12, но уже есть JUnit 5. Итак, как мы можем использовать более новую версию JUnit в нашем новом проекте Spring Boot?
junit junit 4.12 compile
3) У нас должен быть способ исключить JUnit4, потому что в настоящее время мы зависим от него из-за spring-boot-starter-test . Мы можем сделать это, добавив следующие строки в нашу зависимость spring-boot-starter-test , с помощью которой мы исключаем JUnit 4.
org.springframework.boot spring-boot-starter-test test junit junit
4) Теперь мы собираемся настроить JUnit 5 как зависимость с помощью Maven. Мы добавим следующие зависимости в pom.xml
org.junit.jupiter junit-jupiter-api 5.3.2 test org.junit.jupiter junit-jupiter-engine 5.3.2 test
И мы должны добавить следующий плагин maven в нашу сборку плагины
maven-surefire-plugin 2.22.0
5) Мы удалили зависимость JUnit 4, мы добавили JUnit 5, и теперь пришло время внести небольшие изменения в код, чтобы использовать JUnit 5. Давайте сосредоточимся на DemoApplicationTests.java где мы можем увидеть следующий код
package com.example.demo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {
@Test
public void contextLoads() {
}
}
На самом деле, единственное, что нам нужно изменить, это аннотацию RunWith , потому что она из JUnit 4 и импорт аннотации Test . После изменения наш тест должен выглядеть так
package com.example.demo;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@ExtendWith(SpringExtension.class)
@SpringBootTest
public class DemoApplicationTests {
@Test
public void contextLoads() {
}
}
Вы должны быть готовы начать писать тесты с использованием JUnit 5 прямо сейчас.: )
Оригинал: “https://dev.to/martinbelev/how-to-enable-junit-5-in-new-spring-boot-project-29a8”