Code: Select all
@Testcontainers
@SpringBootTest
public class SpringContextWithMongoTest
{
@Container
static MongoDBContainer mongoDBContainer = new MongoDBContainer("mongo:6.0.20-jammy")
.withExposedPorts(27017)
.waitingFor( Wait.forListeningPort() );
@DynamicPropertySource
static void registerMongoProperties( DynamicPropertyRegistry registry ) {
mongoDBContainer.start();
registry.add("spring.data.mongodb.host", mongoDBContainer::getHost);
registry.add("spring.data.mongodb.port", mongoDBContainer::getFirstMappedPort);
}
@Test
public void contextLoads() {
}
}
Code: Select all
spring.data.mongodb.username=mongo
spring.data.mongodb.password=mongo
spring.data.mongodb.database=stackoverflow
spring.data.mongodb.port=27017
spring.data.mongodb.host=localhost
Code: Select all
spring.data.mongodb.username=
spring.data.mongodb.password=
< /code>
Ich habe auch versucht, die Methode der dynamischen Eigenschaften zu ändern: < /p>
@DynamicPropertySource
static void registerMongoProperties( DynamicPropertyRegistry registry ) {
mongoDBContainer.start();
registry.add("spring.data.mongodb.host", mongoDBContainer::getHost);
registry.add("spring.data.mongodb.port", mongoDBContainer::getFirstMappedPort);
registry.add("spring.data.mongodb.username", () -> null);
registry.add("spring.data.mongodb.password", () -> null);
}
< /code>
Dies kann auch den Test nicht zum Laufen bringen. Ich glaube, der Test schlägt fehl
#spring.data.mongodb.username=mongo
#spring.data.mongodb.password=mongo
< /code>
Ich weiß :
Wie können Sie die Federschuheigenschaften für einen Test nicht festlegen?