如何捕获Karma返回/退出代码?

时间:2016-09-13 17:48:56

标签: npm karma-runner karma-jasmine bamboo angular-cli

我正在尝试对Bamboo CI执行一些单元测试。正如Karma配置中所建议的,我确实有SingleRun = true. 记者使用的是“进步”。 由于我们使用Angular CLI构建应用程序,因此我利用{i}脚本设置的ng test --build=false命令。所以,我用npm run <myscriptname>

命令运行我的测试

问题 - 我能够运行测试,有些通过,有些通过,但是,只要我能够运行测试,我的任务总是会返回成功。

我试图避免使用gulp / grunt,所以如果可能的话让我知道没有它的东西。我也试过直接打电话给Karma start <config file>,但这也没有帮助。

2 个答案:

答案 0 :(得分:3)

尝试添加脚本任务,而不是命令。在脚本体中,您可以以相同的方式运行脚本,并尝试使用&#34; $?&#34;捕获exit命令,并手动发送退出代码。如果测试失败,还要确保脚本返回非零代码。

if [ "$?" != "0" ]; then
    echo "The script returned non-zero error code!" >&2
    exit 1
fi

答案 1 :(得分:3)

现在能够通过Karma找到正确的状态。 问题 - 当我们通过ng测试执行Karma时。 karma返回的所有退出状态都被ng消耗掉了。所以,只要我们能够运行测试(无论测试失败),我们就会获得“成功”

解决方案 - 直接致电业力。这样我们就可以处理在CI期间有用的退出状态。