Pierwsze testy: Rspec + Capybara

Witajcie,

można powiedzieć że przechodzę na “dobrą stronę mocy” i zaczynam moje pierwsze kompleksowe testy w rails (wcześniej były wybiórczo jedynie unit).
Wybór padł na Rspec i Capybarę. Przeglądam forum i widzę, że wiele osób chwali ten duet, tak więc chyba to dobry wybór.
Poniżej mam kilka pytań, na które niestety znam jeszcze odpowiedzi:

  1. Zacznijmy od hierarchii katalogów. W katalogu rspec mam podkatalogi:
  • controllers
  • factories
  • helpers
  • mailers
  • models
  • requests
  • routing
  • views

moje pytanie brzmi jak powinien wyglądać przykładowy test (w najprostszej formie by zrozumieć po co ich tyle) z każdego z folderów (z pominieciem factories)?

  1. Po sieci troche szukałem materiałów o rspec i co jakiś czas można się natknąć na informację, że zamiast testów “requests” są testy “features”. Jaka jest między tymi testami różnica?
  2. Często ktoś na forum wspomina o “Code ratio” - jak to się sprawdza?
  3. Jak wygląda testowanie walidatorów np. modelu user gdzie username musi mieć minimum 4 znaki i maksymalnie 20 znaków to czy piszemy pod to kilka testów sprawdzających?
  4. Jakieś dobre rady / linki dla początkującego w tym temacie?

Pozdrawiam

  1. http://rubydoc.info/gems/rspec-rails/frames
  2. Nie ma żadnych. Tzn features najczęściej nazywane są testy napisane z Cucumberem, ja trzymam się nazwy “integration”, albo właśnie “requests”.
  3. https://github.com/matthewrudy/rcov_rails
  4. https://github.com/thoughtbot/shoulda-matchers
  5. Szukać, wszystko jest do znalezienia :slight_smile: I dużo testować, im szybciej opanujesz składnię i zawiłości testów, tym przyjemniej będzie Ci się pisało. Poczytaj również o stubowaniu / mockowaniu ( https://relishapp.com/rspec/rspec-mocks/docs ).

Dzięki! Tego było mi trzeba :slight_smile:
Pozdrawiam

rcov_rails nie uzywalem ale simplecov bardzo fajnie wyswietla pokrycie testami, więc sprawdź :slight_smile: