开发者

RSpec spec fails when invoked via "rake spec", passes when invoked via "spec spec"

开发者 https://www.devze.com 2022-12-21 13:35 出处:网络
One of my specs fails when I run it via \"rake spec\" but passes when I use the RSpec executable \"spec\".

One of my specs fails when I run it via "rake spec" but passes when I use the RSpec executable "spec". The spec fails when I use a url helper in a ActionMailer view. The error message is:

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 and :slug are required attributes for the url, though. The route looks like this:

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

I set the hos开发者_运维问答t, which is needed to use the url helpers in ActionMailer views, in the environment files:

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

What could be the problem? Why is "rake spec" behaving differently from "spec spec"? Anything that is loaded/not loaded when using one or the other?


I realize this is a bit old, but anyway - I just ran into the same problem, not for the first time either. Then, when I started inserting debug statements into the failing spec to figure out what was going on - rake spec worked again. So I suspect some sort of caching going on when spec is involved with rake. If this occurs again, maybe try running

rake tmp:cache:clear

or even

rake tmp:clear
0

精彩评论

暂无评论...
验证码 换一张
取 消