2011-01-07 29 views
8

Jestem nowy w testowaniu w Railsach. Zdecydowałem się nauczyć Test Driven Development i dlatego badam, jak to zrobić w szynach.Jaki jest najlepszy sposób przetestowania aplikacji szyny?

Zacząłem od Test :: Unit i wkrótce dowiedziałem się, że dostępne są lepsze narzędzia i struktury testowe. Rzeczy Słyszałem są

  1. Shoulda
  2. Mocha
  3. rspec
  4. Ogórek
  5. Dziewczyna z fabryki

Teraz jestem bardzo mylić, jak iść do przodu. Jaka jest najlepsza kombinacja tych narzędzi, których muszę się nauczyć? Gdzie mogę znaleźć zasoby do nauki?

buduję aplikację w Rails 3.0

+0

Ładne pytanie. Miejmy nadzieję, że otrzymamy naprawdę dobre odpowiedzi! – Zabba

+2

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

Odpowiedz

1

Osobiście używam Ogórek, rspec i Dziewczyna z fabryki w mojej aplikacji. Jeśli chodzi o zasób, piszę książkę o nazwie Rails 3 in Action, która przechodzi przez użycie tych narzędzi (i samego Railsa) w celu opracowania aplikacji.

17

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.

+3

Wszelkie tutoriale dostępne do nauki tych. Zacząłem od rspec w związku z Twoją sugestią, ale zaczynało się wiele problemów. Mam istniejącą aplikację, do której muszę dodać Rspec. Jak mam to zrobić? –

Powiązane problemy