2011-02-04 9 views
8

私はキュウリのシナリオに失敗しています。私はruby-debugを使って自分のレールコントローラをデバッグしたいと思います。しかし、私がブレークしたいところに「デバッガ」を追加すれば、それは止まらない。ruby​​-debugとキュウリ

features/support/env.rbにruby-debugとrubygemsを追加することを試みましたが、ruby-debugをロードできないと私に言いますが、ruby-debugは宝石リストにありますirbでロードできます。

だから私はそれを動作させるために何をすべきですか?

ありがとうございます!

+0

どのバージョンのあなたはRubyを使っていますか? –

+0

ruby​​ 1.8.7(2010-12-23パッチレベル330)[i386-mingw32] Windows Vista – Thiago

答えて

1

debuggerの代わりにbreakpointを追加してみてください。彼らはここで重要

+0

申し訳ありませんが、それは私のためには機能しませんでした – Thiago

0

を動作するはず

は間違いruby-debugが最初にロードされつつあります。

あなたは宝石をロードしていないとの問題を抱えている、と宝石は間違いなく、実行キュウリのようなあなたのGemfileに記載されている場合:

バンドルexecのキュウリ...

これはしばしばありますバンドラで必要です。

12

私は今日この同じ問題を抱えていました。私はそれを理解しました。それは作業を取得するために、あなたの機能/サポート/ env.rbファイルにrequire "ruby-debug"を追加する必要があるだけかもしれ

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

:ここで私が働いてそれを得た二つの異なる方法を説明する私のブログの記事です。 (binding.pryを使用して)デバッガの近代的なRubyのバージョンについては

0

、私は次の内容のファイル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 
関連する問題