2012-10-23 18 views
8

Sadece eski bir Rails uygulaması için bir test paketi yapıyorum. simplecov taş, test kapsamına (veya tamamen kullanılmayabilir ve kaldırılmayabilir) ihtiyaç duyan uygulamanın karanlık köşelerini bulmak için mükemmel olmuştur. Ben sadece test/test_helper.rb üst kısmında aşağıdaki ekleyerek simplecov hatırlatıyorum:Rails ERB şablonları için kod kapsamı nasıl test edilir?

require 'simplecov' 
SimpleCov.start('rails') 

sorun bu şablonlar gömülüdür tüm kodunu kontrol olmamasıdır. Orada her tür çöp var, ve eminim ki birçoğu kaldırılabilir, ama bir kod kapsama aracı kullanılmayan bitlere işaret ederse çok güzel olurdu.

Yakut 1.9 en Coverage kütüphane ile Bazı deney şablonları nasılsa Yakut kaynak dosyaları kaydedilmiş Yakut kodu, önceden derlenmiş olsaydı sadece işi yapabileceğini beni inandıramaz ve sonra load ed veya require d, derlenmiş şablonları doğrudan eval ile yüklemek yerine. VEYA, derleme işlemi sırasında her şablonun her satırına günlük ifadeleri eklemek için ERB'yi kesmek mümkün olabilir.

ERB şablonlarının kod kapsamının nasıl ölçüleceği konusunda başka herhangi bir fikri olan var mı? Bunu yapabileceğiniz zaten yapılmış bir araç biliyor musunuz? (Ya da ben onu oluşturan ve serbest bırakmak için biri gerekecek?)

cevap

8

bakınız parçalarının her birinin kapsama sahip bir tablo oluşturacaktır

istatistik: How do I get coverage for view specs with rspec, rails, and simplecov?

cevap varlık, yapamazsınız:

https://github.com/colszowka/simplecov/issues/38

O var Birisinin çözeceğini umduğum kritik kusur. AFIK, Ruby 1.9

+1

Tamam. Teşekkürler. Bu cevabı kabul ediyorum ... ama sonra bu problemi kendim için bir çözüm üretmek zorunda olabileceğimi düşünüyorum ve eğer yaparsam kabul edilen cevap olacak. –

-2

deneyin tırmık o app

+0

için simplecov'dan daha iyi bir şey yoktur. Çalışmıyor gibi gözüküyor. –

+0

Rails sürümünüz nedir ... Rails 3.2.3'te gayet iyi çalışıyor ... rake -T'yi çalıştırmayı deneyin ve listelenen görevlerin açıklamalarını okuyun ... –

+1

Bilmek istemiyorum * nasıl Birçok * kod satırı benim şablonumda var. Bu paketlerden kaç tanesinin * test paketim * tarafından yürütüldüğünü bilmek istiyorum. Lütfen soruyu dikkatle okuyun. –

İlgili konular