2011-02-04 145 views
8

我在黃瓜有一個失敗的場景,我想使用ruby-debug來調試我的rails控制器。但是如果我添加'調試器'到我想要破解的地步,它不會停止。ruby​​-debug和黃瓜

我試着將ruby-debug和rubygems的要求添加到features/support/env.rb中,但之後它向我說它不能加載ruby-debug,儘管ruby-debug在gem list上,而我可以加載它irb。

那麼...我該怎麼做才能使它工作?

謝謝!

+0

什麼版本Ruby你在用嗎? – 2011-02-04 17:52:29

+0

ruby​​ 1.8.7(2010-12-23 patchlevel 330)[i386-mingw32]在Windows Vista – Thiago 2011-02-04 18:36:16

回答

1

嘗試添加breakpoint而不是debugger

這應該工作

0

他們這裏的關鍵是絕對讓ruby-debug先加載。

如果您遇到與寶石不加載的問題,創業板在Gemfile,運行像黃瓜肯定上市:

束EXEC黃瓜......

這是經常必要的捆綁器。

0

對於現代的Ruby版本調試器(使用binding.pry),我建議建立一個文件features/support/debugging.rb具有以下內容,然後調用設置爲調試環境變量黃瓜:

# `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