C'è un modo automatico per assicurarsi che tutte le parti di codice è un'unità testati?

StackOverflow https://stackoverflow.com/questions/2542574

  •  23-09-2019
  •  | 
  •  

Domanda

ho scritto test JUnit per la mia classe, e vorrei per dirmi se c'è qualche parte del mio codice che non sia unità testato. C'è un modo per fare questo?

È stato utile?

Soluzione

Se si utilizza Eclipse, si può anche provare EclEmma , che mostra che le linee di sorgente sono stati coperti per il test. Questo a volte è più utile di esecuzione di uno strumento di copertura come Cobertura perché è possibile eseguire un singolo test all'interno di Eclipse e quindi ottenere un feedback immediato su quello che è stato coperto.

Altri suggerimenti

Sì, gli strumenti di copertura come cobertura o emma .

rapporti che mostrano ogni riga nel codice sorgente e se era eseguito oppure no (e le statistiche aggregate pure).

Naturalmente, è possibile mostrare solo se il codice è stato eseguito. Non c'è modo di dire se il test di unità conteneva affermazioni per confermare che il risultato è stato corretto.

È necessario alcuni strumenti di copertura del codice. Vedere qui (http://java-source.net/open-source/code-coverage ) per alcuni

Se si guarda al primo penso che fa ciò che è necessario

Cobertura è uno strumento Java gratuito che calcola la percentuale di codice di accesso da test. Può essere utilizzato per identificare quali parti del programma Java mancano copertura di test. Esso si basa su jcoverage. Caratteristiche di Cobertura:

  • può essere eseguito da formica o dalla riga di comando.

L'intestazione e la tua domanda effettiva differire. Gli strumenti di cui le altre risposte possono dire, che parte del codice sono stati non testato (= non eseguito a tutti). Fare "assicurarsi che tutte le parti di codice è un'unità testato" è una cosa diversa. Gli strumenti di copertura può dire se / sono state eseguite tutte le linee di istruzioni, ma non garantire che tutto ciò che viene testato in modo funzionale (tutti costellazioni di dati, tutti i percorsi di esecuzione, etc.). Questo richiede una certa potenza del cervello. A mio parere, la copertura dei test spesso dà una sensazione sbagliata di sicurezza. Per esempio. test getter banali aumenta la copertura molto, ma è piuttosto inutile.

Se si utilizza IntelliJ poi c'è un pulsante denominato

"Esegui con una copertura"

Esegui con copertura

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top