MockMvc

Integrationstest der Web-Schicht mit MockMvc und HtmlUnit: Sprint 1 des Flurmonitors abschließen

Ob Controller, Model und Template zusammenpassen, wissen die Komponententests des Ansichtsmodells nicht. Ein Integrationstest der Web-Schicht schließt diese Lücke: @WebMvcTest startet nur die Web-Schicht, @MockitoBean ersetzt die Aufbereitung durch einen Mock, der genau die Ansicht liefert, die ein Test braucht. Mit MockMvcTester prüfst Du View-Namen, Model-Attribute und HTML, mit HtmlUnit liest Du die Seite wie ein Browser über CSS-Selektoren. Danach endet Sprint 1: Im Sprint Review sieht das Team, was fertig ist und was nicht, und in der Retrospektive leitet es Maßnahmen für Sprint 2 ab.

Die Web-Schicht im Test: Controller-Integrationstests mit @WebMvcTest und MockMvcTester

Bisher prüfen nur .http-Dateien von Hand, ob die Controller richtig antworten. Jetzt übernimmt das ein Integrationstest der Web-Schicht: @WebMvcTest startet nur den Web-Teil von Spring, @MockitoBean ersetzt den Service durch einen Mock, und MockMvcTester schickt Anfragen ohne echten Server. Damit lassen sich Statuscodes, Header, JSON und alle Fehlerfälle aus Artikel 09 mit Problem Details automatisch prüfen. Unterwegs zeigen zwei Stolpersteine, was ein Testausschnitt (Slice) weglässt.