Ist es möglich, eine Spring -Boot -Eigenschaft für Testzwecke zu verunsichern?Java

Java-Forum
Anonymous
 Ist es möglich, eine Spring -Boot -Eigenschaft für Testzwecke zu verunsichern?

Post by Anonymous »

Ich habe einen Test -Container -Test mit MongoDB, bei dem es problematisch erscheint, die Standard -Benutzernamen- / Passwort -Anmeldeinformationen festzulegen. Dieser folgende Test funktioniert ohne Anmeldeinformationen: < /p>

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() {
}
}
Die Haupt -App stellt jedoch eine Verbindung zu einem MongoDB mit Anmeldeinformationen her, die unter SRC/Main/Ressourcen/Anwendung konfiguriert sind. Code> Also: < /p>

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
Diese Eigenschaften-Anmeldeinformationen stören den ausgeführten Test. /Code> mit leeren Werten: < /p>

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 
, aber dies ist nicht nützlich für den Hauptstart der App.
#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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post