Dopisanie testów do gotowej appki

Chcę w ramach nauki dopisać podstawowe testy do takiej aplikacji: https://github.com/mackenziechild/raddit

Pytania:

  • co testować?
  • w czym testować? jakie są obecnie trendy? np. Hartl w 2 wydaniu tutoriala używa RSpeca, a w 3 używa domyślnego narzędzia Railsów do testowania. co polecacie?
  • jak testować? - jakieś linki gdzie mogę sobie doczytać o dobrych praktykach, do czego przede wszystkim warto dopisać testy? oczywiście, chodzi o webowe aplikacje w RoR, a nie testowanie w ogóle

Pisałem troszkę TDD, teraz chcę zrobić odwrotnie, czyli dopisać testy do gotowej appki - cel edukacyjny oczywiście :smile:

Myślę, że dobrze jak dam Ci listę gemów, które są według mnie złotą listą. Wpisz w google kolejne i poczytaj trochę o nich

gem ‘rspec-rails’
gem ‘factory_girl_rails’
gem ‘shoulda-matchers’
gem ‘database_cleaner’
gem “capybara”
gem “capybara-screenshot”
gem “poltergeist”
gem “pry-nav”
gem “pry-rails”
gem “pry-stack_explorer”
gem “pry-theme”
gem “spring-commands-rspec”
gem ‘simplecov’
gem “rubocop”
gem “faker”

1 Like

W przypadku istniejącej aplikacji proponuję testować od ogółu do szczegółu. Czyli zaczynamy od testów na najwyższym poziomie (feature/integration tests) i jeśli jest taka potrzeba to schodzimy niżej. Lepiej mieć testy całości, które faktycznie wyłapią błędy, niż testy jakiś małych klocków (np. modele), które nie wyłapią za dużo.