Cześc.
Mockito 2 dużo bardziej wymusza pisanie dokładnych testów i nie akceptuje juz tak nulli w matcherach jak wcześniej, w związku z czym trzeba bardziej dbać o zapewnianie pełnego zbioru danych testowych dla danego przypadku. Nie wiem jaka jest lepsza praktyka w przypadku kiedy wykorzystujemy jakieś zwykłe pojo, które ma sporo pól ( np 7 albo więcej ) oraz jedynie konstruktor ustawiający je wszystkie, tj. nie ma domyślnego. Pojo zazwyczaj przekazywane jako argument metody i wyciągane są z niego potrzebne dane, ale nie wszystkie. Na przykład w danym teście potrzebujemy tylko aby miało wypełnione 2 pola z 7 co lepiej wtedy robić"
a) Instancja obiektu z nullami w miejscu niepotrzebnych danych?:
new PersonDTO ("Dżoł", null, 22,null, null, null, null);
To jest lajtowy przykład, zdażają się naprawde grube obiekty.
b) Dodanie bezparametrowego konstruktora na potrzeby testu i zasetowanie potrzebnych pól?
c) Zmockowanie obiektu i stubowanie getterów ?
PersonDTO dto = mock(PersonDTO.class);
given(dto.getName).willReturn("Dżoł);
given(dto.getAge).willReturn(22);
Tak jak pisałem, to jest raczej lajtowy przykład, ale zdażają się przypadki, że jest 15 pól a potrzebne tylko 3 w teście.