カピバラのページメソッドとカミナリのページメソッドの間には、ある種の矛盾があるようです。
とにかく、それは私が推測したものです、ここにエラーがあります:
Failure/Error: before { sign_in_as user }
ActionView::Template::Error:
wrong number of arguments (1 for 0)
# ./app/models/feed.rb:9:in `microposts'
[Rest of the backtrace]
コードサンプル:
class Feed
def microposts(opts = { urgent: false })
urgent = opts[:urgent]
p Microposts.where(id: 1).page # <Capybara::Session>
p Microposts.where(id: 1).page(1) # Error
end
end
ページネーションを削除すると、テストは正常に機能します。
これがどのように可能かわかりません。カピバラは「ページ」メソッドをオブジェクトスコープに追加していると思いますが、カミナリがそのpage
メソッドを ActiveRecord::Base に追加すると (正しく思い出せば)、カピバラのメソッドをオーバーライドする必要があります。
この種の問題を抱えている人を見たことがありません。
ありがとう。