Ahora mismo si ejecuto mi prueba usando rake spec
Me sale un error:
1) SegmentsController GET "index" debería funcionar Error / Error: obtener "índice" método indefinido `locale" para # # ./spec/controllers/segments_controller_spec.rb:14: en `bloque (3 niveles) en"
Esto es normal ya que tengo un error :)
El problema es que la traza no es muy útil. Sé que se rompió segments_controller_spec.rb
, línea 14, pero aquí es donde llamo a la prueba:
### segments_controller_spec.rb:14
get "index"
Preferiría tener la ruptura de línea real y la traza completa, no la parte en la carpeta de especificaciones.
Corriendo con --trace
no ayuda
Respuestas
237 para la respuesta № 1Debes ejecutar rspec con -b
Opción para ver retrocesos completos.
29 para la respuesta № 2
Otra alternativa (más fácil) es editar el .rspec
archivo, y agregue el backtrace
opción. Debería verse algo así:
--colour
--backtrace
Eso te dará el retroceso completo. Espero que esto ayude.
3 para la respuesta № 3
Esto también funcionará:
# rails_helper.rb
RSpec.configure do |config|
config.full_backtrace = true
end
2 para la respuesta № 4
Otro enfoque es borrar todos los patrones de exclusión de retroceso en spec_helper.rb
. Me gusta más esta solución porque puedo mantener todas las configuraciones de RSpec en un solo lugar y deshacerme de .rspec file
o explícito --backtrace
en .travis.yml
.
# spec_helper.rb
RSpec.configure do |config|
config.backtrace_exclusion_patterns = []
end
0 para la respuesta № 5
Una opción más cuando todo lo demás falla es simplemente agregar un bloque de rescate e imprimir el intento de pila o agregar una declaración de palanca de palanca allí y usar show-stack
.
rescue Exception => e
puts ""
puts e.backtrace
puts ""
0 para la respuesta № 6
No sé cómo hacer que aparezca el error del controlador en rspec. A veces aparece pero no sé qué condiciones hacen que aparezca. Sin embargo, aquí hay una manera de ver el error bastante rápido:
Abre otra sesión de terminal y ejecuta:
tail -f log/test.log
Luego vuelva a la sesión de terminal y ejecute solo la especificación que tuvo el error:
bin/rspec -b spec/requests/posts/index_spec.rb
Regrese a la cola del registro y debería ver el error, con suerte sin demasiadas otras cosas que lo rodean (porque ejecutó la prueba fallida por sí mismo).