开始处理请求测试时遇到麻烦

时间:2012-08-02 23:34:48

标签: ruby-on-rails-3 rspec2 rspec-rails

温柔地对我说:我得了流感,只有少数神经突触在射击!

这是RSpec的简单请求测试:

require 'spec_helper'

describe 'Home Page' do
  it 'should mention Home' do
    get '/'
    response.body.should have_content("Home")
  end

end

大。有用。现在我想验证在访问主页时是否加载了图像。我假设有一个类似于have_content()的图像的匹配器,所以我首先去寻找has_content()的定义。

中找不到
https://www.relishapp.com/rspec/search?query=have_content
http://guides.rubyonrails.org/testing.html
http://api.rubyonrails.org/

但我记得RSpec对匹配器有很好的命名规则,所以(例如)even?() => be_even()。但即便如此,在上面搜索“内容”也找不到任何东西。

(顺便说一下,我很确定我不是在寻找同名的Capybara方法,因为我正在做get而不是visit。 ?)

冒着让这个问题因过于模糊而被拒绝的风险:这个方法来自哪里,以及我在哪里可以了解我可以传递给response.body.should的其他问题?

1 个答案:

答案 0 :(得分:1)

RSpec请求规范使用Capybara,因此您可以使用getvisit

如果您只想检查该网页是否包含具有正确链接的<img>元素,您可以使用:

response.should have_selector('img', :src => '...')