Ostatnio robię to dużo dla projektów klientów. Największe bloki dla mnie wydają się być szalonym użyciem wbudowanego javascript z lub bez RJS. [Nota boczna: jest dobry i zły sposób na AJAX, a większość ludzi robi Doing It Wrong ™.] Zazwyczaj używam ogórka z odrobiną rspec do dziwnych testów jednostkowych.
Zmienne, które należy wziąć pod uwagę, są różnorodne, ale dobrym miejscem na rozpoczęcie jest kilka testów jednostkowych dla modeli. Utwórz kilka fabryk i przetestuj swoje sprawdzania poprawności, a także wszelkie niestandardowe zachowania, które Twoim zdaniem wymagają testowania.
Jeśli tego nie robisz lub masz już zestaw testów jednostkowych i chcesz dodać integrację, następnym pytaniem jest stopień, w jakim robisz dużo wbudowanego javascriptu lub RJS. Jeśli twoja aplikacja jest bardzo "ajaxy", musisz zacząć od kierownika selenu do ogórka, który jest wolny jak melasa w lutym, ale to dostanie zadanie. Kiedy już dostaniesz zestaw testów obejmujących pełną funkcjonalność (lub nawet tylko ważne rzeczy) dla twojej aplikacji, zacznę refaktoryzować javascript aby działał dyskretnie.
Kolejny kierunek można przejść byłoby zbudować dodatkowe rspecs dla kontrolerów i widoków, ale ja nie lubię tego wzoru jak pakujesz testowania realizacjęzamiast funkcjonalności.
Należy pamiętać, że nie wszystko musi nastąpić z dnia na dzień. Przeanalizuj swoje przepływy pracy (np. Logując się, wykonując zadanie A, wykonując zadanie B, itp.) I ustal, które z nich pokrywają 80% Twoich typowych przypadków użycia. Przetestuj najpierw te. Następnie użyj czegoś takiego jak metric_fu lub po prostu rcov (lub dowolnego innego narzędzia pokrycia) i znajdź obszary kodu, które są logiczne i niesprawdzone. Podoba mi się metric_fu, ponieważ zestaw narzędzi, które uruchamia, może dostarczyć obu tych informacji.
+1, ponieważ zadawałem sobie to samo pytanie –