我想使用Coveralls跟踪执行项目的测试覆盖率,使用https://github.com/mattn/goveralls进行集成参考的说明
cd $GOPATH/src/github.com/yourusername/yourpackage $ goveralls your_repos_coveralls_token
但是,这只会发布一个程序包的结果,而针对程序包的运行又不会起作用,因为最终运行会覆盖所有其他运行。有没有人想出如何获得多个包裹的承保范围?
我最终使用了这个脚本:
echo "mode: set" > acc.out for Dir in $(find ./* -maxdepth 10 -type d ); do if ls $Dir/*.go &> /dev/null; then go test -coverprofile=profile.out $Dir if [ -f profile.out ] then cat profile.out | grep -v "mode: set" >> acc.out fi fi done goveralls -coverprofile=acc.out $COVERALLS rm -rf ./profile.out rm -rf ./acc.out
它基本上会找到路径中的所有目录,并分别为它们打印coverage配置文件。然后,将这些文件连接成一个大文件,然后将它们运送到工作服。