2012-09-19 12 views
5

Hangi sayfaya bakıldığına bağlı olarak logomuz için farklı bir resim kullanmak istiyorum; ana sayfadaki logo daha büyüktür. Ben davranışını test etmek için istek özelliklerini kullanmayı seviyorum, bu yüzden böyle bir şey yapmak istiyorum:rspec kullanarak hangi resmin görüntülendiğini nasıl test edilir?

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 

ve test bazı haml html oluşturulan agains çalıştırır:

<div class='logo-wrapper'> 
    <h1> 
    <a href="/"><img alt="Logo-big" src="/assets/logo-small.png" /> 
    <br> 
    <span>UpMarket</span> 
    </a> 
    </h1> 
</div> 

ancak bu selektör çalışmıyor . Bu mümkün mü ve nasıl?

+0

Ne alakalı HTML benziyor (kimin src özellik değeri alt dize "W3Schools" içeren her <img> elemanını seçer)? – jdl

+1

% 100 TDD için, HTML henüz bir şey gibi görünmemelidir, ancak ben kötü bir yol olacağım ve yine de soruma ekleyeceğim;) –

+1

TDD, sıfır çıkışınız olduğu anlamına gelir. Belli ki 'have_selector' kontrol eden (veya olması gereken) bir HTML var. Bütün istediğim buydu. – jdl

cevap

15

have_css yöntemini mi deneyin?

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

+0

Yeşil özellikleri. Aşkım olmalı. Teşekkürler, src test etmek için daha güvenilir bir özellik gibi görünüyordu, çünkü alts'ı biraz daha açıklayıcı olarak tercih ederim. Bunu çok daha fazla durumda da kullanabiliriz, '' 'ile asla kullanmaz. –

+0

Bu benim için çalışıyor, ama '' 'ne yapıyor? Tüm bulabildiğim, "uyarılar" olarak kullanılıyor ama bu farklı görünüyor. Teşekkürler. – haley

+0

'* =' öznitelik seçici 'öznitelik alt dizeyi içerir' anlamına gelir. Olası seçicilere genel bakış için [w3schools] 'a bakın (http://www.w3schools.com/cssref/css_selectors.asp). – hjblok

İlgili konular