我在项目的根目录中运行go test ./...
,但有几个包没有任何测试并报告[no test files]
。如果我运行go test ./... | grep -v 'no test files'
,我会丢失go test
的返回码,以防测试失败。
在递归测试项目根目录中的所有内容时,我可以忽略没有测试的包吗?
答案 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