如何使用rspec测试显示的图像?

Jas*_*nis 6 testing rspec ruby-on-rails

根据正在查看的页面,我想为我的徽标使用不同的图像; 主页上的徽标更大.我喜欢使用请求规范来测试行为,所以我想做这样的事情:

describe 'Visit "advertentie/1"' do
    it 'contains add details' do
        add = create(:add_with_photos)
        visit add_path add
        page.should have_selector( 'img[alt="logo-small"]' ) # CHECK IMAGE ALT
        page.should have_content( add.name )
    end
end
Run Code Online (Sandbox Code Playgroud)

并且测试再次运行一些haml生成的html:

<div class='logo-wrapper'>
  <h1>
    <a href="/"><img alt="Logo-big" src="/assets/logo-small.png" />
    <br>
    <span>UpMarket</span>
    </a>
  </h1>
</div>
Run Code Online (Sandbox Code Playgroud)

但是这个选择器不起作用.这有可能,怎么样?

hjb*_*lok 17

你尝试过这种have_css方法吗?

have_css("img[src*='w3schools']")
Run Code Online (Sandbox Code Playgroud)

(选择<img>src属性值包含子字符串"w3schools"的每个元素)