Webstorm中运行茉莉花testing停止跟踪与退出码0
我通过grunt在我的node.js应用程序中运行jasminetesting。 我已经将Grunt grunt test
添加到了Webstorm的运行configuration中。
在“运行/debuggingconfiguration”中,“Grunt Test”具有以下属性:节点解释器( node.exe
中的node.exe
),工作目录(项目位置),JavaScript文件(grunt binary)以及应用程序参数名称)。
configuration正常工作,但停止打印完整的茉莉花输出。 有时在打印任何输出之前,大多数情况下经过茉莉花日志的某个部分之后,而是在testing总结或错误细节之前。 总是输出的最后一行是
Process finished with exit code 0
当我使用Webstorm命令并在控制台中手动运行它时,它工作正常,并且始终打印完整输出:
"C:\Program Files\nodejs\node.exe" C:\...\node_modules\grunt-cli\bin\grunt test
我的testing包括asynchronous的情况下,所以大约需要20秒来运行它们。 我注意到,每个尝试通过Webstorm运行testing打印一点点输出。 第一次尝试结束没有任何,但十后进一步我得到完整的输出与testing总结。
已知的问题,请参阅http://youtrack.jetbrains.com/issue/WEB-1926和讨论stackoverflow( 摩卡+ webstorm – 错误消息中断 )
为了解决这个问题,我们可以直接通过jasmine-node命令运行茉莉花testing(跳过grunt)。
我们必须根据“Node.js”pre-conf设置新的“运行/debuggingconfiguration”。
-
节点解释器(像往常一样):
C:\Program Files\nodejs\node.exe
-
工作目录:项目根目录,
-
JavaScript文件:
node_modules\grunt-jasmine-node\node_modules\jasmine-node\lib\jasmine-node\cli.js
这是我的情况(使用grunt-jasmine-node)。 我们也可以提供全局安装的jasmine-node的
cli.js
path。 -
应用程序variables
--verbose src/test/js
当然,最后一个是我的项目中testing目录的path。 这里我们可以指定文件列表或者使用其他的jasmine-node命令和参数。
process.exit()
不等待stdout
。 你应该用一个时间表推迟退出电话,就是这样。