3

RubyMine - Cucumber ステップファイルをデバッグするにはどうすればよいですか? 私はこれを少しグーグルで検索しましたが、見つけた情報はうまくいきませんでした。RubyMine を使用するときにデバッグするステップ ファイルを持っている人はいますか?

ありがとう

4

5 に答える 5

1

多くの、非常に多くの失敗したソリューションがオンラインで発生する、恐ろしく一般的な問題。新しい宝石は必要ありません。設定を変更する必要もありません。

ほとんどの場合、ルート フォルダーにすべての機能ファイルがあります。

ばかげているように聞こえますが、新しいフォルダーを作成し、そこに機能ファイルを配置します (「テスト」などの一般的なものと呼びます)。

ブレークポイントを設定して、再試行してください。これで治るはずです。

于 2013-02-28T01:07:31.710 に答える
1

Gemfile に「pry」を追加します

「pry」が必要です(上部近く、またはスタートアップ/フック内)

デバッグしたいステップで、問題が発生している時点で: binding.pry

これにより、すべてのローカル変数などを調べることができる REPL にダンプされます。セレンを使用してブラウザーと対話している場合は、ブラウザーを見て、「要素の検査」を使用して、要素を見つけることができるかどうかを確認することもできますセレン呼び出し。

binding.pry; を呼び出すだけのステップを作成することもできます (私の場合は「And I debug」と呼ばれます)。これは、セレンの自動化を一時的に停止したいだけの場合に便利です。REPL を終了するには、'exit' または ^D を使用します。

これを効果的に使用するには、コマンド ラインから cuke を実行する必要があります。rubymineがそのためにどのような機能を持っているかわかりません。

于 2013-02-26T21:36:15.883 に答える
1

私の場合、Gemfile の適切なグループに「デバッガー」gem がありませんでした。

確実に:

group :development, :test do
  gem 'debugger'
end

debugger gem は推奨されなくなりました。代わりにdebugger2を試してください。

于 2013-07-10T00:23:02.010 に答える
1

features/support/debugging.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

環境変数を設定することで、Cucumber にさまざまなデバッグ ツールを使用させることができ、複数の環境変数を設定することでそれらを組み合わせることができます。

于 2015-08-16T22:52:38.350 に答える
-1

RubyMine ではありませんが、CLI に慣れている場合は、デバッガーのgem が大いに役立ちます

[sudo] gem install debugger

次に、問題の LOC の前にキーワードdebuggerを配置し、 cucumber を通常どおり実行します。デバッガーは、問題のある LOCの直前で停止します。

これを使用して、常に Cucumber/WATIR の問題を解決しています。

https://github.com/cldwalker/debugger

于 2013-02-27T14:31:41.487 に答える