2014-06-13 9 views
11

tworzę aplikację na Ruby on Railsnależy zamiast tego użyć "minitest/autorun". w Ruby on Rails

Po utworzeniu użytkowników, walidacji użytkowników Używam poniżej poleceń:

$ bundle exec rake db:migrate 
$ bundle exec rake test:prepare 

Oba polecenia są prowadzone prawidłowo w linii poleceń, szyny, ale po uruchomieniu poniższego polecenia:

$ bundle exec rspec spec/models/user_spec.rb 

otrzymuję błąd poniżej:

Warning: you should require 'minitest/autorun' instead. 
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"' 

Używam wersji 4.1.1 w wersji rails. Nie rozumiem, dlaczego to przychodzi. Uprzejmie mnie zasugeruj, czekając na odpowiedź. Dzięki.

+0

jeśli nie używasz minitestu, usuń go z aplikacji. – sevenseacat

+0

ale używam go, uprzejmie zasugeruj mi, co mam zrobić? – user88

+1

to dlaczego próbujesz uruchamiać polecenia rspec? nie jest typowe używanie obu, wykonują tę samą pracę (testowanie). – sevenseacat

Odpowiedz

6

Dołącz MiniTest gem w swoim „Gemfile” i uruchomić pakiet zainstalować

gem install 'minitest' 

a następnie bundle install

+0

Rozwiązanie takie jak to było obejście problemu? Pytający, op, prosi o uruchomienie frameworka testowego rspec - dodanie kolejnego schematu testowego, minitest, może rozwiązać ostrzeżenie, ale może wprowadzić konflikty w przyszłości - użytkownicy Rspec będą chcieli stosować czystsze rozwiązanie Chrisa Nelsona. –

+0

To absolutnie nie działa dla mnie. Minitest jest zainstalowany i nadal występuje problem z jakimkolwiek poleceniem "rake". Używam rake 10.4, rails 4.2.3 i ruby ​​2.1.5 –

+0

@AlexPierstoval Czy uruchomiłeś pakiet rake exec rake: migruj i pakuj exec rake test: przygotuj się po modyfikacji na Gemfile, poproś o ponowne uruchomienie serwera i sprawdzenie jeszcze raz lub daj mi znać, jeśli problem nadal istnieje, byłoby świetnie, gdybyś mógł podać dokładny komunikat o błędzie. – cyborg

12

Więcej uwaga dla potomnych niż cokolwiek, ale ten problem może również wystąpić, jeśli używasz starsza wersja shoulda-matchers. Możesz zobaczyć dyskusję na temat ich repozytorium Github here lub repozytorium rspec-rails here.

Zaktualizuj shoulda-matchers, uruchamiając bundle update shoulda-matchers. Chcesz najnowszą wersję (lub przynajmniej 2.6.2) i ta wiadomość powinna zniknąć.

+1

To jest lepsze rozwiązanie, chyba że używasz (i wymagasz) 'minitest' bezpośrednio w swojej aplikacji. – jwadsack

+0

Bardzo prawdziwe. Ta poprawka ma zastosowanie tylko wtedy, gdy używasz shoulda-matchers, ale nie 'minitest'. –

+2

Uaktualnienie programu typu "shoulda-matchers" do najnowszej wersji rozwiązało problem. Dzięki! –