如何检查sbt测试是否失败?

jas*_*siu 2 bash sbt

我想编写一个脚本来构建、测试并将我的应用程序部署到测试环境。我可以使用 sbt 手动运行测试:

sbt test
Run Code Online (Sandbox Code Playgroud)

但它似乎没有返回任何值(只是原始字符串测试结果)。

有没有比我当前的解决方案更好的方法来检查 sbt 测试是否失败:

TESTS_FAILED=`sbt test | grep "sbt.TestsFailedException" | wc -l`
Run Code Online (Sandbox Code Playgroud)

mar*_*ios 5

在 Mac OS X 上,sbt test失败时返回 1,成功时返回 0。这似乎正是您所需要的。

请注意,您所捕获的命令的标准输出sbt test并不完全是您所需要的。在 bash 中,命令的返回码被捕获在特殊变量 中$?

sbt test
rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
Run Code Online (Sandbox Code Playgroud)