Unbreak application.yml, und ersetzen Sie den Test, der nie lief

FixSecurityService
Verschifft
3. August 2026 um 18:07 UTC
Autor
Kamo
Ausschuss
9ec55d1

Drei Dinge, alle von dem Versuch zu beantworten "warum nicht nur den Kontexttest zu beheben?". 1. ************ erklärt .kamo: TWICE und daher nicht Parse auf alle . SnakeYAML wirft DuplicateKeyException auf sie. Das hat noch nie aufgetaucht, weil die Produktion lädt seine Konfiguration von der k8s ConfigMap über SPRING_CONFIG_LOCATION und liest nie die gebündelte Datei. Jeder Test, der die context trifft es sofort. In einem Mapping vermischt. 2. Gelöscht ************ Es saß im Paket com.retval.SecurityService - außerhalb des Paketbaums der Anwendung - so könnte es keine @SpringBootKonfiguration finden, bei jedem Lauf fehlerhaft und nichts behauptet. Es war der Kontexttest, von dem alle annahmen, dass er sie während dieses Dienstes beschützte CrashLooped in der Produktion zweimal für mangels genau dieser Überprüfung. Ein Test, der hat nie einmal läuft ist schlimmer als kein Test: es nimmt den Schlitz. 3. ApplicationContextStartsTest hinzugefügt, um es zu ersetzen, derzeit @Disabled mit einem spezifischer Grund und nicht ein Achselzucken. Das meiste, was ein realer Kontexttest benötigt, wird jetzt in application-contexttest.yml gelöst: Die Konfiguration der Produktion lebt in der ConfigMap, so dass der gebündelten Datei fehlt Platzhalter und jede Funktionsfahne, die entscheidet, ob eine Beine existiert. Das Profil ist daher DERIVED von k8s/configmap.yaml mit allen beglaubigten Strings ersetzt durch einen deterministischen Dummy (verifiziert: Null ungekrümmt), die Datenquelle auf einen toten Hafen mit Initialisierung-Fail-Timeout gerichtet -1 also öffnet sich keine Verbindung und kein Schema ist erforderlich, und Cluster DNS-Namen abgemagt. Der einzige verbleibende Blocker ist die Infrastruktur, nicht Konfiguration: SecurityServiceApplication trägt @EnableRedisHttpSession, die sich mit Redis während der Kontext-Refresh verbindet. Nein Eigenschaft vermeidet es - **************** springt nur die CONFIG-Kommando. Um dies zu ermöglichen, braucht man einen Testcontainer Redis oder einen Embedded-Rotis-Test Abhängigkeit, und nichts anderes. Bis dahin deckt RepositoryScanCoverageTest den gleichen Fehlermodus statisch ab und ist Mutation-erprobt gegen den Ausfall 2026-08-03. Schwächer, weil es Quelle liest anstatt Bohnen zu bauen - aber es läuft.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen