Testcontainers irão mapear a porta do servidor MongoDB para uma porta aleatória em sua máquina. É por isso que você não pode codificar
spring.data.mongodb.uri=mongodb://127.0.0.1:27017/test
em seu arquivo de propriedade. Uma configuração básica com JUnit 5 e Spring Boot>=2.2.6 pode ter a seguinte aparência
@Testcontainers
public class MongoDbIT {
@Container
public static MongoDBContainer mongoDBContainer = new MongoDBContainer();
@DynamicPropertySource
static void mongoDbProperties(DynamicPropertyRegistry registry) {
registry.add("spring.data.mongodb.uri", mongoDBContainer::getReplicaSetUrl);
}
}
Se você estiver usando uma versão JUnit ou Spring Boot diferente, dê uma olhada no guia a seguir para a configuração correta de contêineres de teste .