Testy integracyjne - jak powinny wygladac?

0

Cześć,

Mam metodę która coś pobiera z innego serwisy poprzez REST, przetwarza dane i zapisuje do bazy danych. Chcialbym teraz sprawdzic czy po wykonaniu tej metody w bazie zostaly zapisane poprawne dane.

public class HelloWorld
{
  
  Service serviceOne;
  ServiceREST restService;
  Repository repoOne;
  Repository repoTwo;
  
  public Something doSomething(Parameter p){
    
    Object object = restService.get(p.getId());
    
   
    OtherStaff os= serviceOne.get(object);
    
    Something smthg= doComplexStaff(os);
    
    repoOne.save(object);
    repoTwo.save(os);
    
    
    return smthg;

  }
}

Jak powiniem ten kod przetestować?

Do metody doComplexStaff() sa napisanie testy jednostkowe.

  1. Czy napisać test ktory sprawdza czy po wykonaniu metody doSomething() zostaną zapisane do bazy obiekty object, os itd.? Serwis do odpytywania restow zmockowac albo postawić środowisko testowe.
  2. Czy nie testować tej metody wcale, tylko napisać testy do serwisu odpytujacego rest, repozytoriow, dao etc. ?
0

Nie ma prostej recepty. Napisz dokładnie, co robi każdy element i jaką ma implementacje. Ten przykład jest "dziwny".

1

Niczego nie mockować, po prostu wywołać metodę, a potem sprawdzić, czy oczekiwane dane wylądowały w bazie.

0

Baza danych w pamięci (np. H2) to Twój klucz do sukcesu :)

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