Jaki jest najlepszy sposób na przetestowanie aplikacji szyny?
Najpierw przetestuj.
Co ważniejsze, wymieniono wiele różnych narzędzi zaprojektowanych do robienia różnych rzeczy.
- Shoulda to platforma testowa do uruchamiania testów i zestawu dopasowań oraz zapewnień do testów pisania.
- Mocha jest kpiącą i krępującą biblioteką.
- Rspec to szkielet testowy zawierający narzędzia szermiercze i matujące.
- Ogórek jest podstawą do pisania testów funkcjonalnych.
- Factory Girl to framework do budowania obiektów domeny używanych w testach.
Spośród tych, które powinny albo zastąpić Test-Unit, a pozostałe powinny dostarczyć narzędzi do różnych obszarów testowania. To, czego potrzebujesz, zależy od tego, co Twoim zdaniem sprawi, że pisanie testów stanie się łatwiejsze i skuteczniejsze.
Dla kogoś, kto testował :: Testy jednostek jednostkowych i chciałbym nauczyć się dodatkowych narzędzi, sugerowałbym następujące rzeczy.
Jeśli masz istniejący projekt z użyciem Test :: Unit, pomyśl o dodaniu szyderstwa i krępowaniu marki Mokka i zobacz, czy to pozwala łatwiej pisać precyzyjne testy jednostkowe. Jeśli masz już zainstalowane urządzenia, rozważ użycie Factory Girl do generowania fabryk zamiast dodawania nowych obiektów modelu i zobacz, czy to sprawia, że twoje testy są łatwiejsze w zarządzaniu i utrzymaniu. Jeśli masz już solidny zestaw testów jednostkowych, rozważ użycie Cucumber do napisania testów funkcjonalnych na wyższym poziomie, aby zacząć przechwytywać historie użytkowników w testach i testować swoją aplikację od początku do końca.
Jeśli rozpoczynasz nowy projekt, zacznij od Rspec i Factory Girl. Rspec wprowadzi Cię w zupełnie inny sposób testowania niż Test :: Unit, ale nadal będziesz pisać dość dobrze znane testy jednostkowe, a także będzie zawierał kody pośredniczące, mocks i matchers, które pozwolą Ci zanurzyć się w testach bez eksplozji zbyt wielu nowych klejnoty w twoim projekcie. Factory Girl da ci wygodny sposób na tworzenie obiektów domenowych, ponieważ wymagają tego twoje testy. Pomiędzy tymi dwoma powinieneś być w stanie podnieść kilka nowych trików testowych, jednocześnie pracując ze zwykłym przepływie pracy z testowaniem jednostkowym.
Ładne pytanie. Miejmy nadzieję, że otrzymamy naprawdę dobre odpowiedzi! – Zabba
Podnieś realistyczny projekt w realnym świecie, taki jak Spree lub coś innego z http://www.opensourcerails.com/ i spróbuj zrozumieć testy w aplikacji. Oczywiście, aby poznać niektóre z tych testów, trzeba również zajrzeć do rzeczywistych źródeł. IMHO, to świetny sposób, aby stać się lepszym w Railsach w ogóle. – Zabba