如何去测试多个包

时间:2018-06-04 10:19:11

标签: testing go

在我的项目中,有一百个包。所以我跑的地方:

$(foreach i,$(TEST_PKGS),go test $(i) -test.short -v)

这将花费将近一个小时。 如果我运行:go test $(TEST_PKGS),它将耗费大量内存。 如何处理这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用./...测试当前目录和所有子目录中的所有包。

来自文档:

  

为了使普通图案更方便,有两种特殊情况。首先,/ ...在模式的末尾可以匹配一个空字符串,以便net / ...匹配其子目录中的net和packages,如net / http。

     

其次,任何包含通配符的斜杠分隔模式元素都不会参与销售包路径中“vendor”元素的匹配,因此./ ...与./vendor子目录中的包不匹配或./mycode/vendor,但./vendor / ...和./mycode/vendor / ... do。

     

但是,请注意,名为vendor的目录本身包含的代码不是销售包:cmd / vendor将是名为vendor的命令,并且模式cmd / ...与它匹配。有关vendoring的更多信息,请参阅golang.org/s/go15vendor。