Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用rspec测试正在显示的图像?_Ruby On Rails_Testing_Rspec - Fatal编程技术网

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

Ruby on rails 如何使用rspec测试正在显示的图像?,ruby-on-rails,testing,rspec,Ruby On Rails,Testing,Rspec,根据正在查看的页面,我想为我的徽标使用不同的图像;主页上的徽标更大。我喜欢使用请求规范来测试行为,因此我想做如下工作: 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

根据正在查看的页面,我想为我的徽标使用不同的图像;主页上的徽标更大。我喜欢使用请求规范来测试行为,因此我想做如下工作:

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']")

(选择每个
相关的HTML是什么样子的?对于100%的TDD来说,HTML当然不应该看起来像任何东西,但我会用一种糟糕的方式把它添加到我的问题中;)TDD确实意味着你没有输出。显然有一些HTML是由选择器检查的(或者应该有)。这就是我想要的,绿色规格。一定会喜欢的。谢谢,src似乎是一个更可靠的属性来测试,因为我更喜欢alts更具描述性。在更多的情况下也可以使用这个,使用
*
,从来没有真正使用过。这对我来说很有用,但是
*
做什么呢?我所能找到的只是它被用作“splat”,但这似乎有所不同。谢谢。
*=
属性选择器表示“属性包含子字符串”。有关可能的选择器的概述,请参阅。