登录
首页 >  Golang >  Go问答

如何自动启用测试在包内并行运行?

来源:stackoverflow

时间:2024-04-27 13:45:34 387浏览 收藏

从现在开始,努力学习吧!本文《如何自动启用测试在包内并行运行?》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我想在包中并行运行测试。我们知道 testing.Parallel 函数使我们能够并行运行包中的两个测试,但是有没有一种方法可以自动使包中的所有测试并行运行,而不需要调用 t.Parallel() 呢?

例如,是否可以将任何标志放入 go test 中,以使具有函数签名 func(t *testing.T) 的所有测试并行运行?


解决方案


这来自 commit f80d8fb 和 Go1(2011 年 10 月)

一个选项(--parallel)是 debated at the time,但很快就被拒绝了:

如果并行运行,许多测试将无法工作。 (很多人也会。)
--parallel 标志的存在意味着脚本等将想要打开它,并且测试必须能够保护自己免受错误运行的影响。

我建议将已知能够运行的单个测试列入白名单 并行,最简单的方法就是给它们命名 不同。

我喜欢 t.Parallel
很清楚哪些测试是并行的,这不是全局默认值,因此您可以将其仅应用于适当且必要的测试, 并且行为很棒:所有非并行运行 首先 - 意思是简单的 - 然后是平行的 可以咀嚼CPU。

本篇关于《如何自动启用测试在包内并行运行?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>