tl; dr当在实习生中写入测试时发生错误时,我似乎无法获得描述发生错误的行的错误消息。我找到了一种解决方法,但它并不是真正理想的解决方案,因为它涉及到在依赖项目中的代码搞乱。有没有人有更好的方法/我只是做错了吗?谢谢!实习生中的测试解析错误不包括描述错误的行
详细信息: 我曾多次看到,如果解析在实习生中编写的测试(例如未能关闭括号,引号等)时发生错误的实际行未报告时出现问题,而只有这样的错误(我的埋入在实际的路径作为它的一个工作项目,但你的要点):
SyntaxError: Unexpected identifier at Function.vm.runInThisContext (<myproject>/node_modules/intern/node_modules/istanbul/lib/hook.js:163:16) at <myproject>/node_modules/intern/node_modules/dojo/dojo.js:745:8 at fs.js:266:14 at Object.oncomplete (fs.js:107:15)
我戳周围有点,发现有一个vm.runInThisContext的未公开(? - 其不在here)参数中,如果启用该参数实际上提供了原始错误的详细信息(here和here) - 有关于这将如何发挥出来一些讨论,但如果切换在伊斯坦布尔的dojo.js和hook.js(如果它运行)使用此参数,我得到的错误信息是这样的:
<myproject>/test/publisherConfigSpec.js:16 errorCb cat = dfd.rejectOnError(function(error) { ^^^ SyntaxError: Unexpected identifier at Function.vm.runInThisContext (<myproject>/node_modules/intern/node_modules/istanbul/lib/hook.js:163:16) at <myproject>/node_modules/intern/node_modules/dojo/dojo.js:745:8 at fs.js:266:14 at Object.oncomplete (fs.js:107:15)
这是我想要的输出(或者至少可以大幅度提高我发现和修复错误的机会),但它不适合与节点依赖关系搞混,而且在我看来,它可能过多对于拉取请求(请参见most recent update to the API)解析测试代码输入时是否存在错误,是否有另一种获得有用输出的方法?
感谢您的任何意见:)
嘿公平点,我使用崇高/ IntelliJ,但我只是觉得令人惊讶的是,输出不帮你找到错误。我不希望你使用(轻度可怕)黑客,我只是想知道是否有另一种方式,但你是对的,使用IDE工作正常。感谢您的反馈意见! – user82116
哦,我猜想在一个真正的项目中,我也会通过grunt将它与jshint联系起来,所以我甚至都没有从命令行那么远 - 它实际上只是尝试了它。 – user82116