Ausgabe
Mir wurde gesagt, dass ich diese Methode testen soll, aber ich bin mir nicht sicher, wie? Wie würde ich eine Methode testen, die nur eine JSON-Zeichenfolge einem DTO zuordnet? Die String-Zeile erhalte ich aus einem Kafka-Thema durch einen Kafkalistener.
public void Mapper(String line) {
try {
LeadTimeDTO leadTimeDTO = objectMapper.readValue(line, LeadTimeDTO.class);
System.out.println("leadTimeDTO:" + leadTimeDTO);
} catch (JsonProcessingException e) {
throw new IllegalArgumentException("Error parsing to DTO");
}
}
Lösung
Verwendung von JUnit5:
Ich würde damit beginnen, zu überprüfen, ob objectMapper.readValue
keine Ausnahme ausgelöst wird:
assertDoesNotThrow(() -> objectMapper.readValue(line, LeadTimeDTO.class));
Überprüfen Sie dann, ob das zugeordnete Objekt nicht null ist:
assertThat(leadTimeDTO).isNotNul();
Danach können Sie überprüfen, ob die Felder korrekt ausgefüllt sind, indem Sie verwenden
assertThat(leadTimeDTO.getName()).isEqualTo("Some name");
Beantwortet von – Leonardo Emmanuel de Azevedo
Antwort geprüft von – Mary Flores (FixError Volunteer)