Golang:如何在不重新编译的情况下重复运行“go test”?

问题描述 投票:0回答:2

有什么方法可以让我轻松地多次运行 Go 测试,停止第一次测试吗? 何时失败?我当然可以做这样的事情:

for i in {1..1000}; do go test ./mypkg && done

但这会导致每次都重新编译,这与测试相比非常慢 本身。我想我可以通过一些巧妙的应用来做到这一点

-exec
旗帜和
xargs
,但我不擅长俏皮话。

以某种理智的方式并行运行多次的奖励积分 如果一千次失败一两次,则会输出详细信息。

go xargs
2个回答
23
投票

使用

-count N
指定重复每个测试的次数。这只会编译一次测试。

第一次失败时使用

-failfast
停止。

$ go test ./mypkg -count 1000 -failfast

9
投票

您可以将

-c
标志传递给
go test
,根据帮助,这将是:

将测试二进制文件编译为 pkg.test 但不运行它。 (其中 pkg 是包导入路径的最后一个元素。)

这样你至少可以避免每次都重新编译。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.