Jak przetestowac taka metode, junit + mockito

0

Chce przetestowac jednostkowo taka metode uzywajc junit i mockito


  public A doSth(...) {


    A a = new A();

    try {

      GetJsonRequest jsonRequest = prepareJsonRequest(param);

      GetJsonResponse jsonResponse = manager.getMaxParam(jsonRequest);

      checkJsonStatusResponse(jsonResponse);

      modifyDb(em, a, jsonResponse);

 

    } catch(...) {...}
return al
}

Moge jakos sprobowac zamockowac prepareJsonRequest i getMaxparams (komunikacja z zewnetrznym API). Dalej metoda sprawdza czy jsonResponse jest poprawna. A na koncu modyfikuje pare rzeczy w bazie.

Jak to mozna przetestowac po zamockowaniu prepareJsonRequest i getMaxparams ?

0

Tą konkretną metodę to można jedynie sprawdzić pod kątem wywołania poszczególnych elementów w odpowiedni sposób oraz pod kątem obsługi błędów. "Core" biznesowy to checkJsonStatusResponse oraz modifyDb.

0

...ktore zapewne sa prywatnymi metodami tej samej klasy, czyli dosc ciezko je przetestowac. Moim zdaniem te metody powinny byc publicznymi metodami jakichs innych klas, wtedy tamte klase mozna przetestowac osobno, a ta metode tez latwo mockujac zaleznosci.

0

Z powermockiem wszystko da się przetestować, ale faktem jest że jeśli to są jakieś bardziej zlożone operacje to może wart wydzielić serwis do montowania/walidacji tych requestów jsona i serwis wykonujący modyfikacje bazy danych i te serwisy testować osobno?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.