【问题标题】:No vanilla JUnit dependency in spring-boot-starter-test?spring-boot-starter-test 中没有 vanilla JUnit 依赖项?
【发布时间】:2020-07-09 22:12:54
【问题描述】:

我在 start.spring.io 中创建了一个全新的(Gradle、Java 语言、Boot 2.2.6、Jar 和 Java 11)项目(未指定依赖项)。我希望在测试类路径中看到 vanilla JUnit (junit:junit:x.xx) 依赖项。但是没找到。

执行./gradlew dependencies 不包括香草JUnit,而只包括org.junit.jupiter:junit-jupiter。请参阅下面的相关输出。

默认生成的测试 (DemoApplicationTests.java) 只有 import org.junit.jupiter.api.Test; 而不是 import org.junit.Test

我错过了什么?完整的 build.gradle 包含在下面以方便参考。


./gradlew dependencies的相关部分:

\--- org.springframework.boot:spring-boot-starter-test -> 2.2.6.RELEASE
     +--- org.springframework.boot:spring-boot-starter:2.2.6.RELEASE (*)
     +--- org.springframework.boot:spring-boot-test:2.2.6.RELEASE
     |    \--- org.springframework.boot:spring-boot:2.2.6.RELEASE (*)
     +--- org.springframework.boot:spring-boot-test-autoconfigure:2.2.6.RELEASE
     |    +--- org.springframework.boot:spring-boot-test:2.2.6.RELEASE (*)
     |    \--- org.springframework.boot:spring-boot-autoconfigure:2.2.6.RELEASE (*)
     +--- com.jayway.jsonpath:json-path:2.4.0
     |    +--- net.minidev:json-smart:2.3
     |    |    \--- net.minidev:accessors-smart:1.2
     |    |         \--- org.ow2.asm:asm:5.0.4
     |    \--- org.slf4j:slf4j-api:1.7.25 -> 1.7.30
     +--- jakarta.xml.bind:jakarta.xml.bind-api:2.3.3
     |    \--- jakarta.activation:jakarta.activation-api:1.2.2
     +--- org.junit.jupiter:junit-jupiter:5.5.2
     |    +--- org.junit.jupiter:junit-jupiter-api:5.5.2
     |    |    +--- org.apiguardian:apiguardian-api:1.1.0
     |    |    +--- org.opentest4j:opentest4j:1.2.0
     |    |    \--- org.junit.platform:junit-platform-commons:1.5.2
     |    |         \--- org.apiguardian:apiguardian-api:1.1.0
     |    +--- org.junit.jupiter:junit-jupiter-params:5.5.2
     |    |    +--- org.apiguardian:apiguardian-api:1.1.0
     |    |    \--- org.junit.jupiter:junit-jupiter-api:5.5.2 (*)
     |    \--- org.junit.jupiter:junit-jupiter-engine:5.5.2
     |         +--- org.apiguardian:apiguardian-api:1.1.0
     |         +--- org.junit.platform:junit-platform-engine:1.5.2
     |         |    +--- org.apiguardian:apiguardian-api:1.1.0
     |         |    +--- org.opentest4j:opentest4j:1.2.0
     |         |    \--- org.junit.platform:junit-platform-commons:1.5.2 (*)
     |         \--- org.junit.jupiter:junit-jupiter-api:5.5.2 (*)
     +--- org.mockito:mockito-junit-jupiter:3.1.0
     |    +--- org.mockito:mockito-core:3.1.0
     |    |    +--- net.bytebuddy:byte-buddy:1.9.10 -> 1.10.8
     |    |    +--- net.bytebuddy:byte-buddy-agent:1.9.10 -> 1.10.8
     |    |    \--- org.objenesis:objenesis:2.6
     |    \--- org.junit.jupiter:junit-jupiter-api:5.4.2 -> 5.5.2 (*)
     +--- org.assertj:assertj-core:3.13.2
     +--- org.hamcrest:hamcrest:2.1
     +--- org.mockito:mockito-core:3.1.0 (*)
     +--- org.skyscreamer:jsonassert:1.5.0
     |    \--- com.vaadin.external.google:android-json:0.0.20131108.vaadin1
     +--- org.springframework:spring-core:5.2.5.RELEASE (*)
     +--- org.springframework:spring-test:5.2.5.RELEASE
     |    \--- org.springframework:spring-core:5.2.5.RELEASE (*)
     \--- org.xmlunit:xmlunit-core:2.6.4

填写build.gradle

plugins {
    id 'org.springframework.boot' version '2.2.6.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
}

test {
    useJUnitPlatform()
}

【问题讨论】:

  • org.junit.jupiter:junit-jupiter JUnit,虽然在 5.x 版本中。 vanilla junit:junit 依赖是旧的 JUnit 版本 4.x
  • 啊……明白了。发行说明确实说:github.com/spring-projects/spring-boot/wiki/…。如果作为一个发布,很高兴接受这个作为答案。谢谢。

标签: java spring spring-boot gradle junit


【解决方案1】:

org.junit.jupiter:junit-jupiter 是 JUnit,尽管版本为 5.x

您似乎期望的原版 junit:junit 依赖项是较旧的 JUnit 版本 4.x

【讨论】:

    猜你喜欢
    • 2019-03-22
    • 2017-10-30
    • 2022-08-20
    • 2021-05-14
    • 2020-07-21
    • 2021-12-28
    • 2016-06-21
    • 2018-01-10
    • 2021-04-29
    相关资源
    最近更新 更多