Testowanie translacji obiektu o wielu polach

0

Mam w projekcie pewną hierarchię klas - najbardziej specyficzna może mieć ok 40 różnych propertiesów. Generalnie klasy są dość proste, natomiast problem zaczyna się gdy trzeba napisać testy do metody która tłumaczy taki obiekt na message (który jest mniej więcej w formacie key/value - niestety nie zawsze odpowiada nazwie i wartości propertiesa)
Jak łatwo sobie wyobrazić, opisanie kilku test case'ów oraz zamockowanie dla każdego z nich wielu propertiesów po czym porównanie outputu z inputem (który jak wspomniałem nie mapuje się 1:1) nie jest sprawą prostą a już na pewno nie czytelną.

Czy są jakieś praktyki jak powinno się postępować w takich przypadkach? Macie jakieś sugestie co poprawiłoby testowalność takiego kodu?

(Pytanie dot. projektu javowego, więc jeśli lepiej będzie pasował do działu java to proszę o przesunięcie)

0

No ja sugerowałbym sobie zrobic jakiś fajny helper do tego, tak żeby w teście robic tylko rzeczy w stylu:
prepareValidObject() albo prepareTemplateObject().withFieldX(aaa).withFieldY(bbb). Analogicznie weryfikacje żeby też były jakoś sprytnie schowane, tak żeby nie trzeba było wchodzic w jakieś szczegóły implemenacyjne na poziomie logiki testu. Najlepiej machnąć to jakimś sprytnym fluent builderem na zasadzie:

TestConfiguration config = TestConfiguration
    .defaultConfig()
    .withParameterX(123)
    .withSomething(456)
    .configureRestResponses()
    .build();

// logika testu

config
    .verifyX()
    .verifyY();
0

Dziękuję :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1