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