Il mio attuale Ruby on Rails progetto fa test tramite rcov (nello specifico, relevance rcov, e noi abbiamo uno standard piuttosto elevato (siamo fallire la build se abbiamo < copertura del codice del 95%).Rcov di copertura cambia drasticamente con -xrefs
Usiamo il seguente comando per verificare questa:.
rcov_cmd = "rcov --rails --text-summary \
--include #{included_dirs} \
--exclude #{excluded_dirs} \
--aggregate #{coverage_dir}/coverage.data \
--output #{coverage_dir} \
Oggi ho trovato un po 'di codice che registra verde (che hanno percorso) nelle relazioni Rcov Homever, posso dimostrare che questo codice non è sempre run (alzo un'eccezione all'inizio della funzione e il mio test unitario passa)
Ho fatto qualche ricerca e ho trovato il flag --xrefs per rcov, che pensavo avrebbe aggiunto tutti i chiamanti per ogni riga nei report di rcov.
ho cambiato il comando rcov a:
rcov_cmd = "rcov --rails --text-summary --xrefs \
--include #{included_dirs} \
--exclude #{excluded_dirs} \
--aggregate #{coverage_dir}/coverage.data \
--output #{coverage_dir} \
(notare l'aggiunta --xrefs
bandiera).
Invece di ulteriori informazioni sul sito, ho invece la copertura del test che va dal 96% al 48%.
Does --xrefs cambia il tipo di analisi come fa rcov? (Pensavo che avrebbe raccolto solo le informazioni sul callsite). Com'è diverso/migliore dal primo comando? (ho visto il calo di copertura unit test se c'è un test di unità in mancanza, e so che la percentuale di copertura può scendere se c'è un errore nella corsa, ma si guarda bene a me)
Hai provato con solo '--callsites' e no' --xrefs' per determinare se sono effettivamente le informazioni sui calliti incluse che stanno causando la differenza? Potrebbe ridurre il problema un po '. – Shadwell
Ho sostituito --xrefs e --callsites e ho visto lo stesso calo nella copertura di test – RyanWilcox