Mówi się że testy jednostkowe powinny być główną częścią testów.
Tylko zastanawiam się jaki w tym jest sens troche w aplikacjach webowych. Weźmy na przykład aplikacje w Spring MVC.
I to mamy layery:
- Baza Danych - encje,DAO
- Serwisy
3)Kontrolery i ogólnie warsta HTTP
Czyste resty jednostkowe właściwie to można głównie przeprowadzać w warstwie logiki,np. za pomocą Mockito zamokować DAO no i robić te asercje itp.
Ale zasadniczo DAO też wypada przetestować no i w tym momencie to nie są już de fakto testy jednostkowe no bo podłączamy bazę danych...
Takie kontrolery to zasadniczo też nie testuje się jednostkowo...
Więc jaki jest sens mówienia o tych testach jednostkowych jak dużą część oprogramowania nie da się nią przetestować? No chyba że uznamy że ok. jeśli mamy bazę danych czy embadded czy po prostu taką na której mamy te rollbacki i zawsze wraca do pierwotnego stanu to teoretycznie jest to test integracyjny ale w praktyce bardzo blisko jednostkowemu?