#5 Antywzorce w testowaniu oprogramowania: Testowanie wewnętrznej implementacji zamiast zachowania
Wracam po małej przerwie do problemu antywzorców w testowania oprogramowania według Kostisa Kapelonisa z Codepipes Blog. Dziś na tapet weźmiemy testownie wewnętrznej implementacji. I będzie krótko.
Nie będę przytaczać tu przykładów, możecie je znaleźć na blogu Kapelonisa. Zwraca on w nim uwagę, że problemem może okazać się sposób, w jaki testy zostały skonstruowane: zamiast testować wewnętrzną implementację, powinny sprawdzać zachowanie (dokładne wymagania biznesowe każdego przypadku). Testy tak naprawdę nie powinny dbać o wewnętrzną strukturę obiektu, ale o jego interakcje z innymi obiektami/metodami/funkcjami. A te – powinny być mockowane w razie potrzeby i w zależności od przypadku. Dobrą praktyką jest, aby każdy typ testów bezpośrednio odpowiadał potrzebom biznesowym, a nie implementacji technicznej.