[rails]RSpec+Capybara+Kaminariのテスト時にwrong number of argumentsエラー
公開日時
it 'ページが表示される' do
visit '/'
expect(page.status_code).to eq 200
endRSpec(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
endRspec設定内でincludeするようにしたところエラー無く実行できました。
テスト周りは色々はまるので勉強しないと。