读书人

在view spec顶用Capybara.string的结果

发布时间: 2012-10-24 14:15:58 作者: rapoo

在view spec中用Capybara.string的结果替代rendered(Capybara版本0.4.12)
问题关键字: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  endend
1 楼 yuan 2011-05-10 刚fork了github上的rspec-rails准备自己改,结果一看代码,发现我打算改的地方跟本地gem中不一样,似乎已经考虑到了这个问题。于是从github上clone了最新的capybara和rspec-rails,手动build gem再install,运行测试,发现问题已经被解决了。

读书人网 >编程

热点推荐