k.....9
k.....9
#java #junit #testyjednostkowe #testowanieoprogramowania
Powinno sie pisać testy dla metod ktore maja jedna linijke np taka

return jakiesRepository.save(costam);
  • Najlepsze
  • Wszystkie komentarze
dog_meat
@kamil159: tak. Przydają się szczególnie przy redaktorze.
zly_dzien
@kamil159: jak bardzo chcesz to możesz i settery testować, tylko zastanów się po co jest test - i czy to Ty jesteś potrzebny jemu czy on Tobie.
Leihto
@kamil159: test jednostkowy raczej nie, ale integracyhny już owszem
fegwegw
A co by mogło w tej linijce pójść nie tak, że potrzebny ci test?


@Kresse: testy nie służą do sprawdzania, czy coś idzie nie tak, tylko do sprawdzania, czy wszystko działa tak, jak chcemy. Wystarczy, że ktoś zamiast save() wywoła np. saveAndFlush, i już nasze testy mogłyby to wykryć.
Kresse
@fegwegw: Na to wyglada ( ͡° ͜ʖ ͡°)
Kresse
@kamil159: A co by mogło w tej linijce pójść nie tak, że potrzebny ci test?
kornfan
kornfan
@kamil159 można przetestować czy dane zapisały się poprawnie.
Baza mogłaby mieć np. jakieś pole ustawione na default, a Ty w parametrze przesyłasz null i oczekujesz, że po zapisie też będzie null.
Ale tak jak napisał @Leihto to jest już test integracji
kotoj
kotoj
0
@Leihto: @kornfan: @kamil159: tak jak koledzy wyżej napisali, to będzie test integracyjny. Jednostkowy by był, jakbyś w tym Save coś testował.
Ogólnie pod tym Save powinieneś mieć jakieś testy jednostkowe. A czy do wspomnianej metody pisać testy to sam musisz się zastanowić pod kątem integracji.
Kresse
@fegwegw: Chodzilo mi raczej o to, jakie bledy moglby w tej linijce popelnic programista. Ich liczba jest znikoma i dlatego (jednostkowe) testowanie tego nie ma wiekszego sensu.
fegwegw
Chodzilo mi raczej o to, jakie bledy moglby w tej linijce popelnic programista.


@Kresse: może np. całkowicie usunąć tę linie. Wtedy test się wywala, bo kontrakt zawarty przy pisaniu tego fragmentu systemu przestał obowiązywać - bez testu jesteś w dupie, możesz godzinami debugować i nic nie znaleźć.
Kresse
@fegwegw: Moze wszystko, ale jesli cos takiego robi, to raczej powinien zmienic branze. Oczywiscie mozna testowac tego typu metody, jak i wygenerowane przez IDE gettery/settery i byc w 200% bezpiecznym, ale imho koszty takich testow sa niewspolmierne do korzysci. Wiekszosc takich bledow i tak wychodzi przy porzadnym tescie integracyjnym.
fegwegw
@Kresse: no to mamy zupełnie skrajne podejścia do testowania jednostkowego.