如何在go测试中抑制[no test files]消息

时间:2014-04-15 17:27:42

标签: testing go

我在项目的根目录中运行go test ./...,但有几个包没有任何测试并报告[no test files]。如果我运行go test ./... | grep -v 'no test files',我会丢失go test的返回码,以防测试失败。

在递归测试项目根目录中的所有内容时,我可以忽略没有测试的包吗?

2 个答案:

答案 0 :(得分:2)

这样的东西?

mkfifo /tmp/fifo-$$

grep -v 'no test files' </tmp/fifo-$$ & go test ./... >/tmp/fifo-$$
RES=$?
rm /tmp/fifo-$$
exit $RES

答案 1 :(得分:0)

一个相对紧凑的解决方案可能看起来像这样:

set -o pipefail
go test ./... | { grep -v 'no test files'; true; }
# reset pipefail with set +o pipefail if you want to swith it off again