我正在测试一个简单的应用程序(从此处的Mocha教程代码https://marcofranssen.nl/using-mocha-chai-sinon-to-test-node-js/),以尝试使Istanbul正常工作。我的问题是, Istanbul 尔可以很好地为我提供承保范围摘要,但是由于某种原因,然后吐出了一个错误,我不确定为什么。我的测试全部通过,所以希望它们不是问题。这是我运行 Istanbul 尔的方式:

$ 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

我不太确定为什么describe不能被识别,因为所有测试都能正常运行并通过。

最佳答案

发现了问题: Mocha 尚未在全局安装,因此我不得不引用它:

istanbul cover /path/to/bin/_mocha path/to/test.js

关于javascript - Istanbul 尔为我提供了覆盖范围,但以错误结束输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33356347/

10-12 07:20