`

在view spec中用Capybara.string的结果替代rendered(Capybara版本0.4.12)

    博客分类:
  • Ruby
阅读更多
问题关键字:undefined method `has_selector?' for #<String:0x1034ecfb0>

版本:
Capybara(0.4.12)
RSpec-Rails(2.5.0)

补充:刚试了一下最新版本的RSpec-Rails2.6.0.rc6和Capybara1.0.0.beta1,已经把这个问题给解决了……


google一番后:
https://github.com/rspec/rspec-rails/issues/213
https://github.com/jnicklas/capybara/issues/139
https://github.com/rspec/rspec-rails/issues/302

最后:

在spec_helper.rb中加入如下代码:


if defined?(Capybara) && !defined?(Webrat)
  module ActionView::TestCase::Behavior
    alias old_rendered rendered

    def rendered
      Capybara.string old_rendered
    end
  end
end
分享到:
评论
1 楼 yuan 2011-05-10  
刚fork了github上的rspec-rails准备自己改,结果一看代码,发现我打算改的地方跟本地gem中不一样,似乎已经考虑到了这个问题。于是从github上clone了最新的capybara和rspec-rails,手动build gem再install,运行测试,发现问题已经被解决了。

相关推荐

Global site tag (gtag.js) - Google Analytics