2010-03-02 21 views
6

Una de mis especificaciones falla cuando la ejecuto mediante "especificación de rake" pero pasa cuando uso el "especificador" ejecutable RSpec. La especificación falla cuando uso un helper url en una vista de ActionMailer. El mensaje de error es:La especificación de RSpec falla cuando se invoca mediante "especificación de rake", se pasa cuando se invoca mediante "especificación de especificación"

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 son atributos requeridos para la url, sin embargo. El recorrido es el siguiente:

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

fijo el anfitrión, que es necesaria para utilizar los ayudantes de URL en vistas ActionMailer, en los archivos de entorno:

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

¿Cuál podría ser el problema? ¿Por qué la "especificación de rake" se comporta de forma diferente a la "especificación de especificación"? ¿Algo que esté cargado/no cargado al usar uno u otro?

+0

Incluso funciona cuando se invoca a través de "especificación rubí/..." así que debe ser algo con mi entorno rastrillo/Rakefile. El contenido de mi Rakefile no han sido cambiados de los rieles estándar cosas me dio: requieren (File.join (File.dirname (__ FILE__), 'config', 'arranque')) requieren 'rastrillo' requieren 'rake/testtask' requieren 'rake/rdoctask' requieren 'tasks/rails' Por favor, ¡alguien, estoy perdiendo la cabeza por esto! –

+0

Mi respuesta fue eliminada (cortesía de @ bhargav-rao) como un duplicado de http://stackoverflow.com/questions/15701298/rspec-spec-rake-spec-gives-different-result/41877864#41877864 –

Respuesta

1

Me doy cuenta de que esto es un poco viejo, pero de todos modos, me encontré con el mismo problema, no por primera vez tampoco. Luego, cuando comencé a insertar instrucciones de depuración en la especificación defectuosa para descubrir qué estaba sucediendo, las especificaciones de rake funcionaron nuevamente. Así que sospecho que hay algún tipo de almacenamiento en caché cuando las especificaciones están involucradas con el rake. Si esto ocurre de nuevo, quizás intente ejecutar

rake tmp:cache:clear 

o incluso

rake tmp:clear 
Cuestiones relacionadas