如果测试失败,如何让Mocha在源文件中显示正确的行号?

时间:2014-09-10 16:50:35

标签: javascript node.js mocha

我使用Mocha进行NodeJS测试,当我的源代码抛出错误导致测试失败时(例如" TypeError: Cannot read property 'prop' of null"),行号在显示的堆栈跟踪中是错误的(它们与原始源文件不匹配,但是要大得多)。

  1) MyApp should do something:
     TypeError: Cannot read property 'prop' of null
      at MyApp.<anonymous> (/path/to/my-project/lib/my-project.js:515:93)
      at MyApp.build (/path/to/my-project/lib/my-project.js:774:16)
      at Context.<anonymous> (/path/to/my-project/test/test.js:62:67)
      at Test.Runnable.run (/path/to/my-project/node_modules/mocha/lib/runnable.js:216:15)
      at Runner.runTest (/path/to/my-project/node_modules/mocha/lib/runner.js:373:10)
      at /path/to/my-project/node_modules/mocha/lib/runner.js:451:12
      at next (/path/to/my-project/node_modules/mocha/lib/runner.js:298:14)
      at /path/to/my-project/node_modules/mocha/lib/runner.js:308:7
      at next (/path/to/my-project/node_modules/mocha/lib/runner.js:246:23)
      at Object._onImmediate (/path/to/my-project/node_modules/mocha/lib/runner.js:275:5)
      at processImmediate [as _immediateCallback] (timers.js:330:15)

(这里my-project.js只有279行!)

有没有办法告诉Mocha正确显示它们?

1 个答案:

答案 0 :(得分:10)

当代码由覆盖工具(例如blanketistanbul等)进行检测时会发生这种情况。仔细检查以确保您没有错误地将其加载到正常测试中。