RubyMine - 如何调试Cucumber Step文件?我已经使用了这一点,我发现的任何信息都不适合我。有没有人有使用RubyMine时的步骤文件调试?RubyMine - 如何调试Cucumber步骤文件?
感谢
RubyMine - 如何调试Cucumber Step文件?我已经使用了这一点,我发现的任何信息都不适合我。有没有人有使用RubyMine时的步骤文件调试?RubyMine - 如何调试Cucumber步骤文件?
感谢
窘况常见的问题有许多,许多失败的在线解决方案。您不需要任何新的宝石,也不需要更改设置。
很有可能,您的所有功能文件都位于根文件夹中。
这听起来很荒谬,但创建一个新的文件夹,放置在那里的功能文件(称之为通用的“测试”)。
设置断点,然后重试。这应该补救它。
增加“撬”到您的Gemfile
需要“撬”(高达上方附近,或在你的启动/钩子)
在要调试步骤,在您遇到的问题点: binding.pry
这将您转储到REPL中,您可以检查所有本地变量等。如果您使用硒与浏览器进行交互,还可以查看浏览器,使用'检查元素',th查看是否可以使用硒调用查找元素。你也可以做一个步骤(我叫做“我调试”),它除了调用binding.pry之外什么都不做,如果您只是想暂时停止硒自动化,这很有用。要退出REPL,请使用“退出”或^ D。
你将不得不从命令行运行你的cukes来有效地使用它;不确定有什么特点是由于rubymine。
不RubyMine的,但如果你是舒服CLI的调试宝石有很大帮助
[sudo] gem install debugger
然后把关键字调试有问题的LOC之前和黄瓜运行正常。 调试器将在您遇到问题的LOC之前停止。
我一直用这个来解决Cucumber/WATIR的问题。
什么是LOC?我在我的步骤定义中放置了'debugger',但执行没有停止。 – Green 2013-07-02 17:51:38
在我来说,我没有在适当的组中的Gemfile
的“调试”宝石确保:
group :development, :test do
gem 'debugger'
end
调试宝石不再推荐,尝试debugger2代替。
添加以下内容作为功能/支持/调试的内容。RB能够在调试失败的步骤有所帮助:
# `LAUNCHY=1 cucumber` to open page on failure
After do |scenario|
save_and_open_page if scenario.failed? && ENV['LAUNCHY']
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 on failure
After do |scenario|
next unless ENV['DEBUG'] && scenario.failed?
puts "Debugging scenario: #{scenario.title}"
if respond_to? :debugger
debugger
elsif binding.respond_to? :pry
binding.pry
else
puts "Can't find debugger or pry to debug"
end
end
# `STEP=1 cucumber` to pause after each step
AfterStep do |scenario|
next unless ENV['STEP']
unless defined?(@counter)
puts "Stepping through #{scenario.title}"
@counter = 0
end
@counter += 1
print "At step ##{@counter} of #{scenario.steps.count}. Press Return to"\
' execute...'
STDIN.getc
end
通过设置环境变量,你可能会导致黄瓜使用各种调试工具,你可以通过设置多个环境变量将它们结合起来。
[开箱即用](http://img200.imageshack.us/img200/2456/20130226141046.png)。你有什么具体问题?请注意,您无法调试功能文件。 – CrazyCoder 2013-02-26 10:11:28