有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

SpringBootStarter测试中java没有普通的JUnit依赖关系?

我在start中创建了一个全新的(Gradle、Java语言、boot2.2.6、Jar和java11)项目。春天io(未指定依赖项)。我希望在测试类路径中看到普通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

我错过了什么?完整的构建。gradle包含在下面,以便于参考


{}的相关部分:

\--- 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:安卓-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()
}

共 (1) 个答案

  1. # 1 楼答案

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

    您似乎期望的普通junit:junit依赖性是较旧的JUnit版本4.x