ruby-debug和黄瓜

我在黄瓜方面有一个失败的情况,我想使用ruby-debug来调试我的rails控制器。 但是,如果我将“调试器”添加到我想要破解的位置,它就不会停止。

我尝试将features of ruby​​-debug和rubygems添加到features / support / env.rb但是然后它告诉我它无法加载ruby-debug,尽管ruby-debug在gem列表中我可以加载它IRB。

那么……我该怎么办才能让它发挥作用?

谢谢!

我今天遇到了同样的问题,我弄清楚了。 这是我的博客文章,解释了我使用它的两种不同方式:

http://lostechies.com/derickbailey/2011/06/29/debugging-cucumber-tests-with-ruby-debug/

您可能只需要在您的features / support / env.rb文件中添加require "ruby-debug"以使其正常工作。

尝试添加breakpoint而不是debugger

这应该工作

这里的关键是肯定首先加载ruby-debug

如果你有gem没有加载的问题,并且gem肯定列在你的Gemfile ,运行黄瓜像:

捆绑exec黄瓜…

捆绑器通常需要这样做。

对于现代Ruby版本的调试器(使用binding.pry),我建议使用以下内容创建文件features/support/debugging.rb ,然后使用设置为debug的环境变量调用cucumber:

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