2011-02-04 13 views
8

Mam niedziałający scenariusz w ogórku i chciałbym debugować mój kontroler szyny używając ruby-debug. Ale jeśli dodaję "debugger" do punktu, w którym chcę się zepsuć, to się nie kończy.ruby-debug i ogórek

Próbowałem dodać wymaganie ruby-debug i rubygmatów do funkcji/support/env.rb, ale potem mówi mi, że nie może załadować ruby-debug, chociaż ruby-debug znajduje się na liście gem i ja można załadować go w irb.

Więc ... co powinienem zrobić, żeby działało?

Dzięki!

+0

jaka wersja Ruby używasz? –

+0

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

Odpowiedz

1

Spróbuj dodać breakpoint zamiast debugger.

To powinno działać

+0

Przykro mi, to nie działało dla mnie – Thiago

0

klucz Są tutaj jest zdecydowanie coraz ruby-debug ładowany pierwszy.

Jeśli masz problemy z klejnotów nie ładuje, a gem jest zdecydowanie na liście w Gemfile uruchom ogórek jak:

wiązki exec ogórkiem ...

Jest to często niezbędne z bundler.

0

Dla nowoczesnej wersji Ruby z debuggera (używając binding.pry), polecam utworzyć plik features/support/debugging.rb o następującej treści, a następnie wywołaniem ogórek ze zmiennych środowiskowych ustalonych do debugowania:

# `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 
Powiązane problemy