1. Обзор
В этой статье мы узнаем, как исправить ошибки JUnit NoSuchMethodError
и NoClassDefFoundError
. Такие проблемы обычно возникают, когда у нас есть две разные версии JUnit в нашем пути к классам
. Такая ситуация может возникнуть, например, когда версия JUnit проекта отличается от той, которая используется в зависимости Maven или Gradle.
2. JUnit NoClassDefFoundError
в проекте Spring
Допустим, у нас есть проект Maven, использующий Spring Boot 2.1.2 и зависимость Spring Boot Starter Test . С такой зависимостью мы можем писать и запускать автоматические тесты, используя JUnit 5.3.2, который является JUnit-версией зависимости spring-boot-test .
Теперь предположим, что мы продолжим использовать Spring Boot 2.1.2. Однако мы хотим использовать JUnit 5.7.1. Возможным подходом было бы включение зависимостей junit-jupiter-api
, junit-jupiter-params
, junit-jupiter-engine
и junit-platform-launcher
в наш файл pom.xml
: