Ich teste eine einfache Anwendung (aus dem Mocha Tutorial Code hier https://marcofranssen.nl/using-mocha-chai-sinon-to-test-node-js/), um Istanbul zum Arbeiten zu bekommen. Mein Problem ist, dass Istanbul gut funktioniert, um mir eine Zusammenfassung der Berichterstattung zu geben, aber dann aus irgendeinem Grund einen Fehler ausspuckt und ich bin mir nicht sicher warum. Meine Tests sind alle bestanden, also sind sie hoffentlich nicht das Problem. Hier ist, wie ich Istanbul laufen:Istanbul gibt mir Deckung, aber beendet die Ausgabe mit einem Fehler
$ istanbul cover test.js
=============================================================================
Writing coverage object [C:\Users\path\test\coverage\coverage.json]
Writing coverage reports at [C:\Users\path\test\coverage]
=============================================================================
=============================== Coverage summary ===============================
Statements : 54.55% (6/11)
Branches : 100% (0/0)
Functions : 0% (0/2)
Lines : 54.55% (6/11)
================================================================================
ReferenceError: describe is not defined
at Object.<anonymous> (C:\Users\path\test.js:9:386)
at Module._compile (module.js:435:26)
at Object.Module._extensions.(anonymous function) [as .js] (C:\Users\path
\AppData\Roaming\npm\node_modules\istanbul\lib\hook.js:107:24)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at runFn (C:\Users\path\AppData\Roaming\npm\node_modules\istanbul\lib\com
mand\common\run-with-cover.js:122:16)
at C:\Users\path\AppData\Roaming\npm\node_modules\istanbul\lib\command\co
mmon\run-with-cover.js:251:17
at C:\Users\path\AppData\Roaming\npm\node_modules\istanbul\lib\util\file-
matcher.js:68:16
at C:\Users\path\AppData\Roaming\npm\node_modules\istanbul\node_modules\a
sync\lib\async.js:52:16
Ich bin mir nicht sicher, warum describe
nicht erkannt wird, da alle Tests gut laufen und übergeben.
** Anmerkung, die unterstreichen ** Es ist '_mocha' und nicht' mocha'. Dies funktioniert auch, wenn Sie Mocha global haben, d. H. 'Istanbul cover _mocha'. Für weitere Informationen über 'warum dieser Unterstrich', lesen Sie [diese Ausgabe] (https://github.com/gotwarlost/istanbul/issues/44) – sgtdck
Ha! Ich hatte das gleiche Problem trotz lokaler und globaler Installation beider Bibliotheken. Nach einer Reihe von Suchanfragen landete ich wieder hier und kam schließlich zu @sgtdcks Kommentar> https://github.com/gotwarlost/istanbul/issues/44, wo '' '' '' ''' '' '' '' '' '' '' _mocha - -u exportiert spec''' behob das Problem ohne weitere Änderungen. Jetzt '' 'npm test''' läuft Mokka und Istanbul ist in Ordnung! Danke Leute! – datafunk