2011-10-03 8 views
11
se muestra

Sólo una línea de trazado inverso cuando corro:A su vez en plena traza en Ruby on Rails TestCase

rake test 

Salida:

...

ERROR should get search for keywords (1.93s) 
    NoMethodError: undefined method `features' for #<Transcript:0x00000006243780> 
    /usr/lib/ruby/gems/1.9.1/gems/activemodel-3.1.0/lib/active_model/attribute_methods.rb:385:in `method_missing' 

...

Necesito más líneas de información de retroceso. He tratado

  • prueba rastrillo --trace

  • Rails.backtrace_cleaner.remove_silencers! en config/inicializadores/backtrace_silencers.rb

  • ajuste de $ DEBUG mundial = true

y no funcionó

¿Cómo puedo activarlo?

Respuesta

17
BACKTRACE=blegga rake test 

BACKTRACE=blegga rails test # rails 5+ 

Aplique --trace si necesita registro relacionado con rake.

+0

Parece una cosa tan aleatoria de agregar, pero funciona! ¿Dónde está la documentación oficial sobre eso? – brandaemon

+0

BACKTRACE = YES funciona igual – justingordon

2

Finalmente lo descubrí. El problema es con la gema 'giro' incluido en Rails 3.1, o en realidad con su vez v0.8.2, que es requerido por el default Gemfile:

group :test do 
    # Pretty printed test output 
    gem 'turn', '0.8.2', require: false 
end 

Encienda v0.8.2 no incluye la traza completa, por lo tienes que actualizar para obtenerlo. Hice que cambiando lo anterior en mi Gemfile a esto:

group :test do 
    # Pretty printed test output 
    gem 'turn', require: false 
    gem 'minitest' 
end 

(he tenido que añadir minitest ya su vez se lanzaría una RuntimeError diciendo "Minitest v1.6.0 no está actualizado.")

Entonces Corrí bundle update turn y obtuve la última versión (0.9.2 al momento de escribir esto). Eso da retrocesos completos.