1. ホーム
  2. ruby-on-rails

[解決済み] rspecでrubyのデバッグを実行する?

2023-06-30 01:33:19

質問

ある仕様でRubyデバッガを動作させようとしています。

describe User do
  it "should be valid" do
    debugger
    User.new.should be_valid
  end
end

しかし、rspecを実行すると。

debugger statement ignored, use -d or --debug option to enable debugging

を試してみました。

rake spec --debug
rake spec --debug  --trace
rake spec:models --debug
bundle exec rspec --debug
bundle exec rspec --debug spec/models/
bundle exec rspec --d spec/models/
bundle exec "rspec --debug" spec/models/
bundle exec rspec --debugger spec/models/
bundle exec --debugger rspec spec/models/
bundle --debugger exec rspec spec/models/
bundle --debugger exec rspec spec/models/
bundle exec --debugger rspec spec/models/
bundle exec rspec --debugger spec/models/

rspecを正しい方法で実行する方法について、何かアイデアがありますか? Rails 3.0.5, Ruby 1.9.2, RSpec 2.5.1, ruby-debug19でやってます。

ありがとうございます。 Justinです。

どのように解決するのですか?

を含めることで、望みのものを得ることができます。 require 'ruby-debug' を記述することで得られます。

# spec/models/user_spec.rb
require 'spec_helper'
require 'ruby-debug'

describe User do
  it "should be valid" do
    debugger
    User.new.should be_valid
  end
end

次に rake spec または rspec 通常通り

注意 今はRuby2.0+とpryを好んで使っています。ほとんど同じような処理です。

require 'spec_helper'
require 'pry-debugger'

describe User do
  it "should be valid" do
    binding.pry
    expect(User.new).to be_valid
  end
end

また、pry-debuggerがすべてのspecで利用できるように、spec_helperファイルにこのようなrequireを記述するのが一般的です。