它是在我将 SB 应用程序升级到 3.2.0 后开始的。我最初以为我的 spring 上下文有问题。因此,经过几天的碰壁之后,我终于决定尝试一些新的东西(而且是显而易见的):从一个新的 SB 应用程序开始。所以我去了https://start.spring.io/并创建了一个新的 SB 3.2.0,仅包含 web、mongodb 和 testcontainers,这给了我这个干净的 gradle 构建配置:
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.0'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '21'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.boot:spring-boot-testcontainers'
testImplementation 'org.testcontainers:junit-jupiter'
testImplementation 'org.testcontainers:mongodb'
}
tasks.named('test') {
useJUnitPlatform()
}
Run Code Online (Sandbox Code Playgroud)
到目前为止一切看起来都很好,所以我去了 spring 提供的演示测试文件并将其更改为:
@Testcontainers
@SpringBootTest
class DemoApplicationTests {
@Container
@ServiceConnection
static MongoDBContainer mongoDBContainer = …Run Code Online (Sandbox Code Playgroud) spring spring-data spring-data-mongodb spring-boot spring-boot-testcontainers