2011-02-04 10 views
8

Tengo un escenario anómalo en pepino, y me gustaría depurar el controlador de mis rieles con ruby-debug. Pero si agrego 'depurador' al punto donde quiero romper, no se detiene.ruby-debug and pepino

Intenté agregar require de ruby-debug y rubygems a las características/support/env.rb pero luego me dice que no puede cargar ruby-debug, aunque ruby-debug está en la lista de gem y yo puede cargarlo en irb.

Entonces ... ¿qué debo hacer para que funcione?

Gracias!

+0

¿Qué versión de Ruby estás usando? –

+0

ruby ​​1.8.7 (2010-12-23 patchlevel 330) [i386-mingw32] en Windows Vista – Thiago

Respuesta

1

Intente agregar breakpoint en lugar de debugger.

que debería funcionar

+0

lo siento, no funcionó para mí – Thiago

0

La clave aquí es, sin duda cada vez ruby-debug carga por primera vez.

Si usted está teniendo problemas con gemas no se carga, y la gema es, sin duda que aparece en su Gemfile, pepino correr como:

pepino ejecutivo de paquete ...

Esto es a menudo necesario con el paquete.

0

Para la versión moderna de rubíes de un depurador (usando binding.pry), recomiendo crear un archivo features/support/debugging.rb con el siguiente contenido, y luego llamar pepino con las variables de entorno establecidas depurar:

# `LAUNCHY=1 cucumber` to open page on failure 
After do |scenario| 
    # rubocop:disable Lint/Debugger 
    save_and_open_page if scenario.failed? && ENV['LAUNCHY'] 
    # rubocop:enable Lint/Debugger 
end 

# `FAST=1 cucumber` to stop on first failure 
After do |scenario| 
    Cucumber.wants_to_quit = ENV['FAST'] && scenario.failed? 
end 

# `DEBUG=1 cucumber` to drop into debugger 
Before do |scenario| 
    next unless ENV['DEBUG'] 
    # rubocop:disable Lint/Debugger 
    puts "Debugging scenario: #{scenario.title}" 
    binding.pry 
    # rubocop:enable Lint/Debugger 
end