ruby-on-rails - 如何使用 rspec 测试正在显示的图像?

标签 ruby-on-rails testing rspec

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

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

然后测试再次运行一些 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>

但是这个选择器不起作用。这可能吗?如何实现?

最佳答案

你试过have_css了吗?方法?

have_css("img[src*='w3schools']")

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

关于ruby-on-rails - 如何使用 rspec 测试正在显示的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12497722/

相关文章:

ruby-on-rails - 在验收规范中测试或不测试什么?

ruby - 您如何设置 Rack::URLMap 以在 Sinatra 中使用 RSpec?

ruby - rspec newb 不明白如何满足 "before"方法

ruby - 如何使用 RSpec 测试子进程的输出

ruby-on-rails - Omniauth Rspec 测试问题

ruby-on-rails - 如何关闭 sqlite3 'sqlite_master' 登录 rails?

ruby-on-rails - 将 Ruby 代码和文字标记与 Haml 混合

javascript - RubyOnRails 中的动态选择追加选择时出错

testing - 如何更新工作服徽章图像以反射(reflect)实际覆盖百分比?

python - 如何使用 unittest 从测试或设置中停止所有测试?