[FIXED] Unit-Testing-Object-Mapper-Methode

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.readValuekeine 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)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like

[FIXED] Spring set default PathVariable

Ausgabe Ich möchte meine Parameter im folgenden Format an meinen Webdienst übergeben: http://…/greetings/neil/1 Statt http://…/greetings?name=neil&id=1 Also habe ich…