在Webstorm中运行jasmine测试将停止跟踪,退出代码为0

时间:2013-11-14 09:58:27

标签: node.js jasmine gruntjs webstorm

我通过grunt在我的node.js应用程序中运行jasmine测试。我已将grunt test添加到Webstorm的运行配置中。

在“运行/调试配置”中,“Grunt测试”具有以下指定的属性:节点解释器(Program Files中的node.exe),工作目录(项目位置),JavaScript文件(grunt二进制)和应用程序参数(test - grunt任务名称)。

配置正常但停止而不打印完整的茉莉花输出。有时在打印任何输出之前,最经常在茉莉花原木的某些部分之后,但在测试总结或错误细节之前。总是输出的最后一行是

Process finished with exit code 0

当我使用Webstorm命令并在控制台中手动运行它时,它可以正常工作并始终打印完整输出:

"C:\Program Files\nodejs\node.exe" C:\...\node_modules\grunt-cli\bin\grunt test

我的测试包括异步情况,所以全部运行大约需要20秒。 我注意到每次尝试通过Webstorm运行测试都会输出更长的输出。第一次尝试没有任何结束,但是在十次之后我得到了测试摘要的完整输出。

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

要修复相关描述的情况,我们可以直接通过jasmine-node命令运行jasmine测试(跳过grunt)。

我们必须根据“Node.js”pre-conf设置新的“运行/调试配置”。

  • 节点解释器(像往常一样):

    C:\Program Files\nodejs\node.exe
    
  • 工作目录:项目根目录,

  • JavaScript文件:

    node_modules\grunt-jasmine-node\node_modules\jasmine-node\lib\jasmine-node\cli.js
    

    这适用于我的情况(使用grunt-jasmine-node)。我们还可以提供全球安装的茉莉花节点cli.js的路径。

  • 应用程序变量:

    --verbose src/test/js
    

    当然最后一个是我项目中测试目录的路径。在这里,我们可以指定文件列表或使用其他jasmine-node命令和参数。

答案 2 :(得分:0)

process.exit()不等待stdout的问题。您应该将退出呼叫推迟一个勾选,即全部。