加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在rails集成规范中向同一控制器发出两个请求

发布时间:2020-12-16 20:02:54 所属栏目:百科 来源:网络整理
导读:在使用rspec的rails集成测试中,我有两个对同一个url的请求的问题 it 'does something' do # get '/something',{:status='any_other'},@header ## this line couses problem! get '/something',{:status='ok'},@header doc = Nokogiri::HTML(response.body) l
在使用rspec的rails集成测试中,我有两个对同一个url的请求的问题
it 'does something' do

  # get '/something',{:status=>'any_other'},@header ## <<<<< this line couses problem!

  get '/something',{:status=>'ok'},@header
  doc = Nokogiri::HTML(response.body)
  lis = doc.css('#the_id')
  lis.size.should == 1
  lis[0].text.should include('anything')
end

如果我向同一个控制器发出两个请求,则测试似乎保持旧的响应…

在上面的例子中,如果我取消注释该行,则测试中断将保持第一个“查询”的结果,

是测试堆栈的限制,还是我做错了?

解决方法

使用Capybara而不是rspec是(请求)集成测试的更好的解决方案.它使用与rspec相同的语法,并在单个块中允许多个请求.我使用rspec进行单元测试和capybara进行集成测试.

https://github.com/jnicklas/capybara

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读