2012-10-23 9 views
8

Sto solo creando una suite di test per un'app Rails legacy. La gemma simplecov è stata fantastica per trovare angoli bui dell'app che necessitano di copertura di test (o che potrebbero essere completamente inutilizzati e OK da rimuovere). Sto invocando simplecov semplicemente inserendo il seguente nella parte superiore del test/test_helper.rb:Come testare la copertura del codice per i modelli di ERB di Rails?

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

Il problema è che questo non controlla tutto il codice che è incorporato nei modelli. Ci sono tutti i tipi di cianfrusaglie, e sono sicuro che molte potrebbero essere rimosse, ma sarebbe davvero bello se uno strumento di copertura del codice potesse indirizzarmi ai bit inutilizzati.

Alcuni esperimenti con la libreria Ruby 1.9 di Coverage mi porta a credere che potrebbe solo fare il lavoro se i modelli fossero in qualche modo pre-compilate in codice Ruby, salvati in file di origine di Ruby, e poi load ed o require d, piuttosto che caricare i modelli compilati direttamente con eval. O, potrebbe essere possibile hackerare ERB per aggiungere istruzioni di registrazione a ciascuna riga di ogni modello durante il processo di compilazione.

Qualcuno ha altre idee su come misurare la copertura del codice dei modelli ERB? Conosci uno strumento già creato che può farlo? (O dovrò essere quello di costruire e rilasciarlo?)

risposta

-2

prova rastrello statistiche

sarebbe generare una tabella che ha la copertura di ciascuna delle parti dell'app

+0

Ho provato questo. Non sembra funzionare. –

+0

Qual è la tua versione di Rails..it funziona perfettamente su Rails 3.2.3 ... prova a eseguire rake -T e leggi le descrizioni delle attività elencate in esso ... –

+1

Non voglio sapere * come molte * linee di codice ci sono nei miei modelli. Voglio sapere quante di queste linee sono * eseguite dalla mia suite di test *. Si prega di leggere attentamente la domanda. –

Problemi correlati