Was macht unit-test-config-properties?
Bietet Muster für Unit-Tests von @ConfigurationProperties-Klassen mit @ConfigurationPropertiesTest. Validiert Property-Bindung, testet Validierungseinschränkungen, überprüft Standardwerte, prüft Typkonvertierungen und simuliert Property-Quellen für Spring Boot-Konfigurationseigenschaften. Verwenden Sie dies beim Testen der Anwendungskonfigurationsbindung, beim Validieren von YAML- oder application.properties-Dateien, beim Überprüfen umgebungsspezifischer Einstellungen oder beim Testen verschachtelter Property-Strukturen.
Verwendung
Importieren Sie die Abhängigkeit:
<dependency>
<groupId>com.example</groupId>
<artifactId>unit-test-config-properties</artifactId>
<version>1.0.0</version>
<scope>test</scope>
</dependency>
Beispiel
@ConfigurationPropertiesTest
class AppPropertiesTest {
@Autowired
private AppProperties appProperties;
@Test
void testPropertyBinding() {
assertEquals("localhost", appProperties.getHost());
assertEquals(8080, appProperties.getPort());
}
@Test
void testValidationConstraints() {
assertNotNull(appProperties.getHost());
assertTrue(appProperties.getPort() > 0);
}
}
Funktionalitäten
- Validierung der Property-Bindung: Stellt sicher, dass Konfigurationseigenschaften korrekt an Java-Objekte gebunden werden.
- Testen von Validierungseinschränkungen: Überprüft, ob
@NotNull,@Min,@Maxund andere Einschränkungen angewendet werden. - Überprüfung von Standardwerten: Testet, ob Standardwerte korrekt gesetzt werden, wenn keine expliziten Werte definiert sind.
- Typkonvertierung: Stellt sicher, dass Typen wie
Stringinint,booleanusw. korrekt konvertiert werden. - Simulierte Property-Quellen: Ermöglicht das Mocken von Eigenschaften für isolierte Tests.
Unterstützte Plattformen
- Spring Boot 2.x und 3.x
- JUnit 5
- Maven und Gradle