Właśnie buduję pakiet testowy dla starszej aplikacji Rails. Klejnot simplecov
doskonale nadaje się do wyszukiwania ciemnych zakątków aplikacji, które wymagają pokrycia testowego (lub które mogą być całkowicie nieużywane i możliwe do usunięcia). Jestem powołując simplecov
po prostu w tym następujące u góry test/test_helper.rb
:Jak przetestować pokrycie kodu dla szablonów ERB Rails?
require 'simplecov'
SimpleCov.start('rails')
Problemem jest to, że nie sprawdza cały kod, który jest osadzony w szablonach. Są tam różne rodzaje śmieci i jestem pewna, że wiele z nich można po prostu usunąć, ale byłoby naprawdę miło, gdyby narzędzie do kodowania mogło wskazać mi nieużywane bity.
Niektóre eksperymentowanie z Ruby 1.9 za Coverage
biblioteki prowadzi mnie do przypuszczenia, że może to zrobić tylko wtedy, gdy zadanie szablony były jakoś skompilowane do kodu Ruby, zapisanych w plikach źródłowych Ruby, a następnie load
ed lub require
d, zamiast ładowania skompilowanych szablonów bezpośrednio za pomocą eval
. LUB, możliwe jest włamanie się do ERB w celu dodania instrukcji rejestrowania do każdego wiersza każdego szablonu podczas procesu kompilacji.
Czy ktoś ma jakieś inne pomysły, jak zmierzyć pokrycie kodu szablonów ERB? Czy znasz już gotowe narzędzie, które może to zrobić? (Albo będę musiał być jeden zbudować i zwolnij go?) Statystyki
OK. Dzięki. Przyjmuję tę odpowiedź ... ale myślę, że może będę musiał sam rozwiązać to zagadnienie, a jeśli to zrobię, stanie się to zaakceptowaną odpowiedzią. –