2012-01-18 13 views
5

Voglio mappare un gran numero di test (rspec, test-unit, cetriolo, selenio, ecc.) Su una base di codice molto grande (RoR) e cercare intersezioni e sovrapposizioni nel tentativo di ridurre il numero di test da eseguire, mantenendo la copertura del codice. Ho visto SimpleCov (per: Ruby test coverage tool) e non è abbastanza esteso.Ruby Test Mapping Tool

A parte, un collega ha menzionato un plug-in Hudson che potrebbe essere quello che sto cercando, ma non riusciva a ricordare il suo nome e alcune ricerche di base non hanno prodotto risultati utili.

Grazie! -j

+0

Hudson è stato ribattezzato Jenkins qualche tempo fa. È un server di integrazione continua. Potrebbe * eseguire * i test di copertura per te, ma non include _includ_ any. –

+0

Dato che 'simplecov' è così standard, sarebbe bene che tu dichiari le tue ipotesi su ciò che lo rende" non esteso " –

+0

Le mie ipotesi su di esso" non estensione * sufficiente * "è che non fa quello che io ' Sto cercando di fare, da quello che posso vedere. Uso SimpleCov in tutto il mio lavoro personale e nel sito a cui mi riferisco sopra ed è un ottimo strumento, semplicemente non risolve il problema che sto cercando nel mio OP. – jmervine

risposta

1

Sembra che la risposta principale sia, non c'è davvero niente là fuori, almeno, non che io possa trovare. Tuttavia, detto questo, per la maggior parte delle app e nella maggior parte dei casi, SimpleCov è ciò che le persone stanno cercando.

1

perché non è abbastanza semplice?

Si può avere uno sguardo a ciò che simplecov sta usando qui di seguito: http://www.ruby-doc.org/stdlib-1.9.3/libdoc/coverage/rdoc/Coverage.html

SimpleCov è solo utilizzando un'API aggiunto in Ruby 1.9.

+0

Onestamente, non avevo molta familiarità con SimpleCov (che usiamo) al momento di fare questa domanda. Detto questo, dato il problema iniziale che ho citato, SimpleCov non lo risolve. Almeno non da quello che ho visto. Sto cercando qualcosa che posso inserire al massimo livello e identificherà esplicitamente test sovrapposti e identificherà test che possono essere rimossi senza perdere copertura. Scaverò un po 'più in profondità in "coverage.so" e vedrò se c'è qualcosa che mi manca comunque. Grazie! – jmervine

+1

Il problema è che quando decidi che due test si sovrappongono? due test possono eseguire lo stesso codice senza sovrapposizioni, è difficile isolare tutto e non sempre è una buona cosa da fare. Dubito davvero che qualsiasi cosa completamente automatizzata possa davvero dirlo. – Schmurfy

+0

d'accordo, iniziando a pensare che quello che sto cercando non esiste, perché non è esattamente possibile. Grazie! – jmervine