Рубрики
Без рубрики

Как включить JUnit 5 в новом проекте Spring Boot

Как включить JUnit 5 в новом проекте Spring Boot. Помечено как java, junit, тестирование, весенняя загрузка.

Этот пост был первоначально опубликован на Средний .

В этой статье мы узнаем, как включить JUnit 5 во вновь созданном проекте Spring Boot. Мы проходим следующие этапы:

  1. Инициализировать новый проект весенней загрузки
  2. Взглянув на наш pom.xml и в основном на spring-boot-starter-тест зависимость, немного углубляясь в spring-boot-starter-тест и посмотрите, какая версия JUnit он использует
  3. Как исключить дочернюю зависимость, возникающую из одной из наших зависимостей, с помощью Maven
  4. Добавить JUnit 5
  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”