2015-03-31 8 views
28
expect(view.$el.html()).toContain('Admin'); 

Görünüm 'Yönetici' kelimesini içerir, bu nedenle doğru olarak dönmesini beklerdim. Bunu nasıl başarabilirim?Jasmine, html'nin metin içerip içermediğini ve booleanın döndüğünü kontrol eder.

expect(view.$el.html()).toContain('Admin'); 

Bu, undefined değerini döndürür. true'u nasıl iade edebilirim?

<header class="main"> 
    <div id="heading"> 
    <ul class="header-view right"> 
     <li class="inline"><a href="#link" class="button help-btn tab-btn"><span> </span>Help</a></li> 
     <li class="inline last"><a href="#og" class="button admin-btn tab-btn expand-admin"><span></span>Admin</a></li> 
    </ul> 
    </div> 
</header> 

Bu yardım edin view.$el.html

döndü budur. Yasemin Dokümanlar

+2

lütfen ilgili bazı html kodunu paylaşın ve kullandığınız tüm jQuery kitaplıklarından söz edin. Ayrıca sorununuzu jsfiddle bağlantısında yeniden oluşturmaya ve paylaşmaya çalışın. –

+0

'görünüm. $ El.html()' ne döndürüyor –

+0

@ BhushanKawadkar jasmine için yeniyim - jsfiddle'ı kullanabilir miyim bilmiyorum! Sadece jquery omurgasını kullanıyorum. Başka hiçbir kütüphane yok – Spdexter

cevap

12

:

'toContain' eşleştirici bir Array bir öğeyi bulmak içindir

Öyle yapardım bir dize içinde bir dize bulmaya çalışıyor böyle bir şey: şimdi

expect(view.$el.html().indexOf('Admin') !== -1).toBe(true); 
+0

Çalışıyor! Teşekkürler ! – Spdexter

+5

'toMatch' ayrıca şu şekilde de kullanılabilir: ' bekliyor ($ el.html()) toMatch ('Admin') '. 'toMatch' eşleştiricisi normal ifadeler içindir. – fox

+2

Lütfen bu sorunun hem kötü hem de eski bir yöntem olduğu için cevabı güncelleyin. – hakunin