当前位置: > > > > 如何自动启用测试在包内并行运行?
来源:stackoverflow
2024-04-27 13:45:34
0浏览
收藏
从现在开始,努力学习吧!本文《如何自动启用测试在包内并行运行?》主要讲解了等等相关知识点,我会在中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!
问题内容
我想在包中并行运行测试。我们知道 testing.Parallel
函数使我们能够并行运行包中的两个测试,但是有没有一种方法可以自动使包中的所有测试并行运行,而不需要调用 t.Parallel()
呢?
例如,是否可以将任何标志放入 go test
中,以使具有函数签名 func(t *testing.T)
的所有测试并行运行?
解决方案
这来自 和 Go1(2011 年 10 月)
一个选项(--parallel
)是 ,但很快就被拒绝了:
如果并行运行,许多测试将无法工作。 (很多人也会。)--parallel
标志的存在意味着脚本等将想要打开它,并且测试必须能够保护自己免受错误运行的影响。
我建议将已知能够运行的单个测试列入白名单 并行,最简单的方法就是给它们命名 不同。
我喜欢 t.Parallel
。
很清楚哪些测试是并行的,这不是全局默认值,因此您可以将其仅应用于适当且必要的测试, 并且行为很棒:所有非并行运行 首先 – 意思是简单的 – 然后是平行的 可以咀嚼CPU。
本篇关于《如何自动启用测试在包内并行运行?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注公众号!