Tematów trochę jest na internecie odnośnie pisania Unit Testów w Angularze, ale nie znalazłem odpowiedzi na swoje pytania. Uczę się pisać testy jednostkowe w Angularze (8, nie AngularJs). Tylko problem widzę taki, że niektórych klas nie widzę sensu testowania. Odnośnie testowania:
- Pipe'ów, to ok można to testować bo jakąś logikę to ma i tak też robię.
- Serwisów, tutaj nie do końca rozumiem testowanie. Bo, jeżeli serwis odpowiada za dostarczenie danych (najczęściej httpClientem z serwera) to testowanie takiego serwisu raczej nie ma sensu. Nawet w sytuacji, gdy wynik jest rxjs.pipe() to i tak jak się zmockuje httpClienta korzystając z HttpTestingModule to i tak ten pipe jest pomijany. Testowanie serwisów, które jakąś logikę biznesową wykonują (Serwisów-Fabryk, Serwisów-Walidatorów, itd) to to jak najbardziej można testować.
Natomiast nie wiem co z dyrektywami oraz komponentami. Czy testując komponenty, testuje się też tylko ich metody czy wygenerowany widok? Problem z testowaniem komponentów jest też taki, że żeby przetestować jedną metodę w komponencie, trzeba odpowiednio test skonfigurować (declarations, imports, providers) a następnie wszystkie pola inicjować które są wykorzystywane w ngOnInit (żeby jakiegoś nulla/undefined nie dostać). Mógłbym prosić o rady jak dobrze testować w angularze?