Golang:如何在不重新编译的情况下重复 运行 "go test"?
Golang: How to run "go test" repeatedly without recompiling?
有什么办法让我轻松 运行 多次围棋测试,停止第一个
失败的时间?我当然可以这样做:
for i in {1..1000}; do go test ./mypkg && done
但这每次都会导致重新编译,与测试相比非常慢
本身。我想我可以通过 -exec
的一些巧妙应用来做到这一点
flag 和xargs
,但我不擅长单行
奖励积分 运行同时多次使用它并保持一些理智
如果一千次失败一两次,则输出详细信息。
您可以将 -c
标志传递给 go test
,这将根据帮助:
Compile the test binary to pkg.test but do not run it. (Where pkg is the last element of the package's import path.)
所以你至少可以避免每次都重新编译。
这可能是新功能 - 但您可以使用 -count N
指定重复每个测试的次数。可能值得一提的是,它会 运行 他们一次编译。
我必须感谢 Florin Păşan 在我们最近的 Github 讨论中注意到这一点。
有什么办法让我轻松 运行 多次围棋测试,停止第一个 失败的时间?我当然可以这样做:
for i in {1..1000}; do go test ./mypkg && done
但这每次都会导致重新编译,与测试相比非常慢
本身。我想我可以通过 -exec
的一些巧妙应用来做到这一点
flag 和xargs
,但我不擅长单行
奖励积分 运行同时多次使用它并保持一些理智 如果一千次失败一两次,则输出详细信息。
您可以将 -c
标志传递给 go test
,这将根据帮助:
Compile the test binary to pkg.test but do not run it. (Where pkg is the last element of the package's import path.)
所以你至少可以避免每次都重新编译。
这可能是新功能 - 但您可以使用 -count N
指定重复每个测试的次数。可能值得一提的是,它会 运行 他们一次编译。
我必须感谢 Florin Păşan 在我们最近的 Github 讨论中注意到这一点。