我在黃瓜有一個失敗的場景,我想使用ruby-debug來調試我的rails控制器。但是如果我添加'調試器'到我想要破解的地步,它不會停止。ruby-debug和黃瓜
我試着將ruby-debug和rubygems的要求添加到features/support/env.rb中,但之後它向我說它不能加載ruby-debug,儘管ruby-debug在gem list上,而我可以加載它irb。
那麼...我該怎麼做才能使它工作?
謝謝!
我在黃瓜有一個失敗的場景,我想使用ruby-debug來調試我的rails控制器。但是如果我添加'調試器'到我想要破解的地步,它不會停止。ruby-debug和黃瓜
我試着將ruby-debug和rubygems的要求添加到features/support/env.rb中,但之後它向我說它不能加載ruby-debug,儘管ruby-debug在gem list上,而我可以加載它irb。
那麼...我該怎麼做才能使它工作?
謝謝!
嘗試添加breakpoint
而不是debugger
。
這應該工作
他們這裏的關鍵是絕對讓ruby-debug
先加載。
如果您遇到與寶石不加載的問題,創業板在Gemfile
,運行像黃瓜肯定上市:
束EXEC黃瓜......
這是經常必要的捆綁器。
我今天有同樣的問題,我弄明白了。這裏是我的博客文章,解釋這兩種不同的方法,我得到它的工作:
http://lostechies.com/derickbailey/2011/06/29/debugging-cucumber-tests-with-ruby-debug/
你可能只需要添加require "ruby-debug"
您的功能/支持/ env.rb文件,以獲得它的工作。
對於現代的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
什麼版本Ruby你在用嗎? – 2011-02-04 17:52:29
ruby 1.8.7(2010-12-23 patchlevel 330)[i386-mingw32]在Windows Vista – Thiago 2011-02-04 18:36:16