代码之家  ›  专栏  ›  技术社区  ›  Noah Clark

如何在规范中测试引导链接的图示符

  •  1
  • Noah Clark  · 技术社区  · 8 年前

    我试图找到一种干净的方法,在Rspec中编写一个包含以下元素的视图测试:

    <a href="/things/2/widgets">
      <span class="glyphicon glyphicon-share-alt inline"></span>
    </a>
    

    我想做的是测试当页面在视图中呈现时,“glyphicon share alt”链接到 widgets_things_path

    你有什么想法吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   Sebastián Palma    8 年前

    您可以使用have_css检查特定的锚,然后检查其中的特定标记:

    require 'rails_helper'
    
    RSpec.describe Model, type: :feature do
      before { visit some_path }
      let(:anchor) { 'a[href="url"]' }
    
      it 'has an anchor with specific url' do
        expect(page).to have_css anchor
      end
    
      it 'has a specific span inside anchor' do
        expect(page).to have_css "#{anchor} > span.glyphicon.glyphicon-share-alt.inline"
      end
    end