Wpis z mikrobloga

Przyczepił się do mnie w robocie techlead javowy (w projekcie pythonowym), że moje testy jednostkowe nie testują logiki biznesowej, ale jednocześnie nie chce mi powiedzieć ani pokazać o co mu dokładnie chodzi.
Według mnie testy jednostkowe mają pokazać, że dana funkcja działa tak jak mi się wydaje że działa.

Jak testuję metody repozytorium to mockuje sesję, sprawdzam czy gdy wrzucę x to wyjdzie y, a czy jak wrzucę coś z czapy lub sesja zgłosi wyjątek, to czy zostanie on obsłużony, dalej przechodzę do serwisów no i tam mockuje repozytoria i tak samo jak w przypadku repozytoriów sprawdzam czy jak metoda x zgłosi wyjątek to zostanie to obsłużone, test z wrzuceniem złych danych i ten z poprawnymi. Analogicznie z warstwą kontrolerów.

Nie testowałem jakoś dużo, więc zakładam, że mogę się mylić. Czy moje myślenie o testach jednostkowych jest według mnie prawidłowe?

#programowanie #python
  • 9
  • Odpowiedz
@Ignac96: masz racje. Testy jednostkowe są od sprawdzania prawidłowego przyjmowania i zwracania wartości (nwm, bez jakiś krzaków itp.) i prawidłowej obsługi wyjątków. To testy integracyjne są od weryfikacji od strony biznesowej. Choć to też pewnie bardzo dużo zależy od struktury organizacyjnej.
  • Odpowiedz
@Ignac96: Testy jednostkowe testują jednostkę i nic poza tym. Chociaż to co opisujesz nie brzmi jak testy jednostkowe, tylko integracyjne.

moje testy jednostkowe nie testują logiki biznesowej

Nie do końca to rozumiem, nawet mała funkcja może mieć w sobie logikę biznesową.
  • Odpowiedz
Przyczepił się do mnie w robocie techlead javowy (w projekcie pythonowym), że moje testy jednostkowe nie testują logiki biznesowej


@Ignac96: Następnym razem mu po prostu podziękuj z komentarzem, że na tym Ci właśnie zależało, więc miło, że docenia.
  • Odpowiedz
  • 0
@#!$%@?: @#!$%@? też go pytałem czy może chodzi mu o testy integracyjne lub E2E. Napisał mi taką wiadomość, którą przetłumaczyłem i sparafrazowałem, żeby nie było przypału, a której nie kumam totalnie:

"Myślę, że większość testów w repozytorium powinna odzwierciedlać przypadki/wymagania i nie powinna testować warstwy adaptera tylko po to, aby „mieć większe pokrycie”. Po co mieć JakiesRepozytoriumTest, jeśli jego część JakiesRepozytorium jest zmockowana. Zasadniczo stwierdzam, że nic nie jest testowane."

Jedyne co
  • Odpowiedz
@Ignac96: ludzie z java maja przeprane mozgi oop, geterami seterami i public static void mainem, do tego bez ide od jetbrainsow to by linijki kodu nie napisali czy nawet kodu nie wrzucili do repo, niestety jestes na przegranej pozycji, znam ten bol
  • Odpowiedz