这就是我猜想的,无论如何,这是错误:
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 endend
如果我删除分页,测试工作正常.
我不明白这是怎么可能的,我猜Capybara将“页面”方法添加到Object范围,但是当Kaminari将其页面方法添加到ActiveRecord :: Base时(如果我没记错),它应该覆盖Capybara的一个.
我没有看到有人遇到这种麻烦,怎么可能?
谢谢.
解决方法 我和Capybara 2.x有同样的问题我的功能规格位于spec / feature目录中.我从阅读Capybara文档中了解到,如果您使用features目录,则无需在spec_helper中包含Capybara :: DSL.它已经包括在内了.
如果你在spec_helper中包含Capybara :: DSL会发出警告,它会污染全局命名空间,这正是为什么这是个坏主意!
Check out this rspec-rails page on Capybara for details
总结以上是内存溢出为你收集整理的ruby – Kaminari和Capybara冲突全部内容,希望文章能够帮你解决ruby – Kaminari和Capybara冲突所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)