我在start.spring.io中创建了一个全新的(Gradle,Java Language,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版本中。
您似乎期望的原始junit:junit
依赖关系是较旧的JUnit版本4.x