[rails]RSpec+Capybara+Kaminariのテスト時にwrong number of argumentsエラー
公開日時
it 'ページが表示される' do
visit '/'
expect(page.status_code).to eq 200
end
RSpec(3.1.0) + Capybara(2.4.4) + Kaminari(0.16.1) でコントローラのテストを書いていた際に、ページャを使用したページの表示テストをしようとしたところ、以下のようにwrong number of argumentsエラーが発生しました。
ArgumentError:
wrong number of arguments (1 for 0)
調べてみるとCapybara::DSLで使用しているpageメソッドと、kaminariのpageメソッドがconflictしてしまっているのが原因のようです。
自分の spec/rails_helper.rb の書き方が間違っていました。
- 間違い
# spec/rails_helper.rb
require 'capybara/rspec'
require 'capybara/rails'
include Capybara::DSL
- 正しい
# spec/rails_helper.rb
require 'capybara/rspec'
require 'capybara/rails'
RSpec.configure do |config|
config.include Capybara::DSL
end
Rspec設定内でincludeするようにしたところエラー無く実行できました。
テスト周りは色々はまるので勉強しないと。