Wpis z mikrobloga

24/100 dni z książką


“Istnieje szkoła programowania twierdząca, że każda funkcja testowa w JUnit powinna mieć jedną instrukcję asercji. Zasada ta może wydawać się drakońska [...] Uważa, że zasada jednej asercji jest dobrą wskazówką. [...] Jednak nie obawiam się umieszczać więcej niż jednej asercji w teście. Uważam, że możemy jedynie stwierdzić, iż liczba asercji w teście powinna być zminimalizowana.
Lepszą zasadą dotyczącą testów jest obejmowanie jednej koncepcji w każdej funkcji testowej.”

[Więcej infomacji]


#feaoftruss #czystykod #programowanie #programista15k #webdev #gamedev

Podobało się? To zaplusuj i zapisz się do wołania (link w stopce)

************

[Chcesz być wołany?]
  • 8
via Wykop Mobilny (Android)
  • 3
@Przegrywek123: To jest ciekawe. Ogólnie rzecz biorąc inna część książki pisze o różnicy między obiektem, a strukturą. Jak testujesz 5 pól, a nie zachowanie to testujesz strukturę. A strukturę możesz testować przez equals jedną asercją. Bo co innego testować w POJO? Settery i konstruktor? xD

Po drugie, Uncle Bob pisze: testuj jeden koncept - jedno zachowanie w danych warunkach. Jeżeli metoda zmienia 2 pola w obiekcie to sprawdź stan tylko tych
@Przegrywek123: Przecież masz: "Lepszą zasadą dotyczącą testów jest obejmowanie jednej koncepcji w każdej funkcji testowej.”

Ale fakt faktem dawno nie spotkałem się z tego typu testem, prędzej różnego rodzaju BDD + rozbudowany fw do asercji (typu assertj)