我使用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正确显示它们?
答案 0 :(得分:10)
当代码由覆盖工具(例如blanket
,istanbul
等)进行检测时会发生这种情况。仔细检查以确保您没有错误地将其加载到正常测试中。