Спецификация RSpec завершается ошибкой при вызове через "rake spec", проходит при вызове через "spec spec" - PullRequest
6 голосов
/ 02 марта 2010

Одна из моих спецификаций не работает, когда я запускаю ее через "rake spec", но проходит, когда я использую исполняемый RSpec "spec" Спецификация не работает, когда я использую помощник URL в представлении ActionMailer. Сообщение об ошибке:

auction_url failed to generate from {:action=>"show", :state=>"asd", :slug=>"asd", :controller=>"auctions"}, expected: {:action=>"show", :controller=>"auctions"}, diff: {:state=>"asd", :slug=>"asd"}

: state и: slug - обязательные атрибуты для URL. Маршрут выглядит так:

map.auction ':state/:slug', :controller => 'auctions', :action => 'show'

Я установил хост, необходимый для использования помощников URL в представлениях ActionMailer, в файлах среды:

ActionMailer::Base.default_url_options[:host] = 'myhost.com'

В чем может быть проблема? Почему «rake spec» ведет себя не так, как «spec spec»? Что-нибудь, что загружается / не загружается при использовании одного или другого?

1 Ответ

1 голос
/ 12 августа 2010

Я понимаю, что это немного устарело, но в любом случае - я столкнулся с той же проблемой, но не в первый раз. Затем, когда я начал вставлять операторы отладки в ошибочную спецификацию, чтобы выяснить, что происходит, спецификация rake снова заработала. Так что я подозреваю, что происходит какое-то кэширование, когда спецификация связана с рейком. Если это произойдет снова, возможно, попробуйте запустить

rake tmp:cache:clear

или даже

rake tmp:clear
...