Wir verwenden bootstrap.properties in einer Spring Boot-App, um mit Spring Cloud Config verbundene Eigenschaften zu konfigurieren.Spring Boot Test - Überschreiben bootstrap.properties
Wir möchten diese Eigenschaften während des Tests ignorieren, da wir keine Verbindung zum Config-Server für Komponententests herstellen möchten. So suchen wir nach einer Möglichkeit, Eigenschaften von Haupt bootstrap.properties
vollständig rückgängig zu machen und eine neue zum Testen oder Überschreiben selektiver Eigenschaften bereitzustellen.
Wir versuchten mit der Erstellung src/test/resources/bootstrap.properties
, src/test/resources/bootstrap-test.properties
mit spring.cloud.config.enabled=false
Eigenschaft, aber es hat nicht funktioniert.
versuchten wir, wie unten zu setzen, bevor die Testclass
static {
System.setProperty("spring.cloud.config.enabled", "false");
}
und es funktionierte nicht starten.
Während Spring Boot-Dokumentation ziemlich gut ist, wie application.properties funktioniert, konnte ich nicht einmal einen Verweis auf bootstrap.properties
finden.
Jede Hilfe ist sehr geschätzt auf eine zuverlässige Möglichkeit, bootstrap.properties
während des Testens zu überschreiben. es nimmt tatsächlich die bootstrap-test.properties
und kombiniert diese mit Haupt bootstrap.properties
Datei
Does nicht arbeite für mich. Standardmäßig wird 'bootstrap-test.properties' ignoriert. Ich musste '@TestPropertySource (locations =" classpath: bootstrap-test.properties ")' 'zu meiner' @ SpringBootTest' Klasse hinzufügen. Verwenden von Spring Boot Starter 1.5.3.RELEASE. – user909481
Ich habe folgendes getan: * modifiziert * bauen.Gradle, um das Federprofil für Komponententest wie folgt angeben: 'test { \t SystemProperties System.properties \t systemProperties.put ("spring.profiles.active", "unittest") }' * erstellt * 'bootstrap- unittest.yml' und platzierte es in 'src/test/resources'. Es ist mit allen aktivierten 'spring.cloud'-Eigenschaften auf false konfiguriert. – toddcscar
@ user909481 'bootstrap-test.properties' wird nur automatisch aufgerufen, wenn Ihr Test' @ActiveProfiles ('test') '' hat. Wenn Sie es für alle Tests deaktivieren müssen, finden Sie in meiner Antwort oben – Doug