Mam test-unit
zainstalowany i rspec
zainstalowane (wraz z -core
, -expectations
, -mocks
i -rails
wersja 2.6.x). Kiedy uruchamiam polecenie rails new foo
, używa ono test-unit
do generowania testowych plików pośredniczących zamiast rspec
.
Czy jest opcja, w której mogę nakazać railsom użycie rspec do generowania testów?
ruby-on-rails-3
rspec
rspec2
testunit
aarona
źródło
źródło
generator.rb
inicjalizatora, zajmuje się tym łącznik RSpec. Wszystko, czego potrzebujesz, znajduje sięrspec-rails
wdevelopment
grupie,Gemfile
która wystarczy, aby wymagać tego dla generatorów. Nie musisz też generować aplikacji-T
, możesz usunąćtest
katalog i będzie działać."rails/test_unit/railtie"
zakomentujemyapplication.rb
rspec-rails
klejnot, ważne jest, aby go przetestować i rozwinąć, w przeciwnym razie generatory nie będą używać RSpec, nawet jeśli wykonasz powyższe kroki.Utwórz nową aplikację railsową jako:
Lub usuń
test
katalog z istniejącej aplikacji:Zrób wpis w swoim Gemfile:
Z wiersza poleceń zainstaluj plik gem
Z wiersza poleceń zainstaluj rspec w swojej aplikacji:
Teraz twoja aplikacja railsowa używa RSpec zamiast test-unit.
źródło
Po utworzeniu aplikacji railsowej z:
Dodaj klejnot RSpec do pliku Gemfile w następujący sposób:
W linii poleceń napisz:
Teraz musisz zainstalować RSpec, uruchamiając:
Spowoduje to wygenerowanie następujących plików:
Zdecydowanie zalecam przeczytanie wszystkich komentarzy spec_helper i rails_helper, aby dobrze zrozumieć, co robi każda opcja.
Po ustawieniu wszystkiego możesz uruchomić wszystkie testy za pomocą:
Możesz przeczytać więcej o zalecanych konfiguracjach spec_helper i rails_helper na https://kolosek.com/rails-rspec-setup .
źródło
Jestem nowym programistą i właśnie stworzyłem flagę rails (-rspec), aby rozwiązać problem OP. Pozbywa się Test :: Unit i wstawia gem rails-rspec ze skryptem bash. Skrypt można zmodyfikować, aby pomóc programistom Linuksa, automatycznie dodając klejnotęrubyracer lub tworząc własne flagi i zestawy klejnotów. (może konkretnie przechodząc do tej linii klejnotów i usuwając komentarz)
Oto sedno i mam nadzieję, że to komuś pomoże. https://gist.github.com/MTen/8310116
źródło
Nie ma natywnego sposobu, aby to zrobić za pomocą
rails
CLI. Wygeneruj nowy projekt beztest-unit
:rails new rails-app --skip-test
Następnie postępuj zgodnie z
rspec
instrukcjami, aby zintegrować go z nową aplikacją Rails.źródło