Ho un problema quando si esegue il mio test la copertura codice non funziona, ho il messaggioES6 Reagire Istanbul Nessuna informazioni di copertura sono state raccolte, uscire senza informazioni scrittura copertura
Nessuna informazione di copertura è stato raccolto, uscita senza scrivere informazioni sulla copertura
Scrivo i miei test utilizzando ES6 e uso babel per trasformare il codice.
Per risolvere il problema che uso il progetto github fornito in questa discussione: https://github.com/gotwarlost/istanbul/issues/496
Il trucco è quello di utilizzare
`babel-node ./node_modules/istanbul/lib/cli cover node_modules/mocha/bin/_mocha -- --require test-helper.js --bail --recursive 'src/js/__tests__/**/*.test.js'`
invece di
"istanbul cover node_modules/mocha/bin/_mocha -- --compilers js:babel-core/register --require scripts/test-helper.js --recursive 'src/js/__tests__/**/*.test.js'"
Funziona bene ma il problema è che la copertura del codice considera solo le classi che hai testato, non tutte le classi che hai creato.
Se aggiungo una nuova classe mod.js
nella cartella src
del progetto, la copertura è al 100% per il componente app.js
. Questo è logico perché è stato completamente testato ma nel report la classe mod.js
non viene visualizzata nel report, non è elencata come classe con lo 0% testato (https://github.com/JakeSidSmith/istanbul-no-coverage).
Ho provato ad aggiungere il cover -x 'src/js/__tests__/**/*.test.js'
ma non funziona. Non riesco a mixare il primo stile con il secondo.
Un altro problema è che nell'esempio di progetto fornito sopra il test-helper.js è considerato pienamente testato e non posso escluderlo dalla copertura utilizzando cover -x
.
C'è un altro trucco per avere la copertura del codice destro usando ES6/mocha e avendo la chiamata moka babel-core/register
?
ho anche questo problema. –