小编Bre*_*ton的帖子

如何编译存储库中的所有测试而不执行它们

我有一个存储库,其中多个团队贡献集成测试。

\n

所有这些测试都隐藏在//go:build integration标志后面,因此如果我想go查看或运行它们,我需要将标志传递-build integration给测试命令。

\n

我\xe2\x80\x99m 试图完成的是编译整个存储库中的所有测试,而不实际执行它们(需要很长时间),这样我就可以捕获 PR 引入的构建错误,而默认编译go test和执行不会抓住。

\n

我看到-c旗帜:

\n
\n

-c\n将测试二进制文件编译为 pkg.test 但不运行它\n(其中 pkg 是包导入路径的最后一个元素)。\n可以使用 -o 标志更改文件名。

\n
\n

然而\xe2\x80\xa6 不能将该-c标志与该-build标志一起使用:

\n
\n

$ go test -build=integration -c ./integrationtests/client/admin-api

\n

go: 未知标志 -build=integration 不能与 -c 一起使用

\n
\n

另外...不能-c在多个包中使用该标志:

\n
\n

$ 去测试 -c ./...

\n

不能对多个包使用 -c 标志

\n
\n

有任何想法吗?

\n

unit-testing go go-build

4
推荐指数
1
解决办法
1581
查看次数

标签 统计

go ×1

go-build ×1

unit-testing ×1