test(backend): Kotest-Assertions statt JUnit, CLAUDE.md berichtigt

backend/CLAUDE.md sah Kotest-Assertions vor, der Code benutzte aber die
JUnit-Assertions. Umgestellt bei 25 Aufrufen in zwei Dateien - jetzt billig,
und Test-Abhaengigkeiten sind unkritisch, weil sie in keinem Artefakt landen.
Wo Kotest spezifischer ist, ersetzt es die handgeschriebenen Meldungen:
shouldContain statt assertTrue(contains, "..."), withClue nur noch dort, wo
der Kontext wirklich hilft.

Gegenprobe per Mutation: eine falsche Erwartung im Service-Test und eine im
BDD-Schritt lassen genau die danach benannten Tests fallen.

CLAUDE.md berichtigt: Das Backend ist nicht mehr "noch nicht bootstrapped",
die Konfiguration heisst application.yaml, die Schichten entsprechen dem
tatsaechlichen Aufbau, und die drei Spring-Boot-4-Fallen von heute sind
festgehalten, damit sie niemanden erneut treffen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mhoennig
2026-08-26 15:29:24 +02:00
co-authored by Claude Opus 5
parent f3afc8dfa8
commit b6509ae537
5 changed files with 91 additions and 64 deletions
+3
View File
@@ -23,6 +23,7 @@ repositories {
val cucumberVersion = "7.23.0"
val mockkVersion = "1.13.16"
val kotestVersion = "5.9.1"
dependencies {
implementation("org.springframework.boot:spring-boot-starter-web")
@@ -41,6 +42,8 @@ dependencies {
// Auslaufmodell; die BDD-Tests nutzen den Nachfolger aus spring-test.
testImplementation("org.springframework.boot:spring-boot-resttestclient")
testImplementation("io.mockk:mockk:$mockkVersion")
// Nur die Assertions - Testrunner bleibt JUnit 5 (backend/CLAUDE.md)
testImplementation("io.kotest:kotest-assertions-core:$kotestVersion")
// Behavior-Tests (BDD) mit Cucumber
testImplementation("io.cucumber:cucumber-java:$cucumberVersion")