Zauważyłem, że testy kontrolerów bardzo szybko mi się rozrastają, 160 linijek a mam tylko 2 akcje (co prawda pewnie najbardziej skomplikowane) i zaczynam się lekko gubić skacząc po pliku, sprawdzając wszystkie before i let przy dopisywaniu nowych testów.
Czy w takich przypadkach rozbijacie duży plik na kilka mniejszych np. testy nie dla całego kontrolera, tylko dla pojedynczej akcji ?
1 rzecz, ktora bym zmienil, to oddzielnie przetestowalbym helper authorize(@event), wyrzucil to do before_filter w kontrolerze- i wtedy nie musisz kazdej akcji testowac pod tym katem.
A druga sprawa - nie wiem co tam siedzi w modelach, ale testowanie prostego zapisu, gdzie jest walidacja - to w mojej opinii troche sztuka dla sztuki… jest to otestowane w samym frameworku.
My robimy testy akcji w kontrolerach wtedy, gdy kryje sie za tym wieksza logika i cos sie faktycznie dzieje (zmieniaja sie stany, cos sie przelicza, cos nie powinno sie udac z powodu stanu).
Dzięki za info. Sam się uczę i właśnie nie do końca wiem co testować w kontrolerach, więc pewnie testuję więcej niż trzeba.
W takim razie zrobię oddzielny spec dla uprawnień, a testy kontrolera nieco odchudzę, do tych bardziej skomplikowanych przypadków.