Hi,
ich habe eine Methode, die einen sub wert aus einem JwtAuthenticationToken extrahiert.
Diese sieht so aus:
Ich möchte sie nun testen und habe den Test meines Erachtens nach schon korrekt geschrieben allerdings schlägt er fehl. Das ist mein Test:
Eigentlich müsste doch alles passen, oder? Ich bekomme einen Fehler, da ich wie man unten sehen kann User123 erwarte, aber null zurückbekomme. Woran könnte das liegen? Stimmt was mit den Mocks nicht?
ich habe eine Methode, die einen sub wert aus einem JwtAuthenticationToken extrahiert.
Diese sieht so aus:
Java:
public String getSub(JwtAuthenticationToken tokenAttributes) {
Jwt jwt = (Jwt) tokenAttributes.getPrincipal();
return jwt.getClaim("sub");
}
Ich möchte sie nun testen und habe den Test meines Erachtens nach schon korrekt geschrieben allerdings schlägt er fehl. Das ist mein Test:
Code:
@Test
void testEndpoint() {
JwtAuthenticationToken tokenAttributes = Mockito.mock(JwtAuthenticationToken.class);
Jwt jwt = Mockito.mock(Jwt.class);
Mockito.when(tokenAttributes.getPrincipal()).thenReturn(jwt);
Mockito.when(jwt.getClaim("sub")).thenReturn("User123");
String sub = subExtractionService.getSub(tokenAttributes);
Assertions.assertEquals("User123", sub);
}
Eigentlich müsste doch alles passen, oder? Ich bekomme einen Fehler, da ich wie man unten sehen kann User123 erwarte, aber null zurückbekomme. Woran könnte das liegen? Stimmt was mit den Mocks nicht?