简体   繁体   English

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

[英]How to make Mocha display correct line numbers in source files if a test fails?

I'm using Mocha for my NodeJS tests, and when a test fails due to an Error thrown by my source code (for example " TypeError: Cannot read property 'prop' of null "), the line numbers in the displayed stacktrace are wrong (they don't match with the original source file, but are far bigger). 我正在使用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)

(Here my-project.js only has 279 lines !) (这里my-project.js只有279行!)

Is there a way to tell Mocha to display them correctly? 有没有办法告诉Mocha正确显示它们?

This happens when the code is instrumented by a coverage tool (eg blanket , istanbul , etc). 当代码由覆盖工具(例如blanketistanbul等)进行检测时会发生这种情况。 Double-check to make sure you aren't loading it in your normal tests by mistake. 仔细检查以确保您没有错误地将其加载到正常测试中。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM