如何使用 Go 中的测试包进行测试设置

如何使用 Go 中的测试包进行测试设置,第1张

如何使用 Go 中的测试包进行测试设置

从 Go 1.4 开始,您可以实现设置/拆卸(无需在每次测试之前/之后复制您的功能)。该文档概括这里的主要部分:

TestMain 运行在主 goroutine 中,并且可以围绕对 m.Run 的调用进行任何必要的设置和拆卸。然后它应该使用 m.Run 的结果调用 os.Exit

我花了一些时间才弄清楚这意味着如果测试包含一个函数,

func TestMain(m *testing.M)
那么将调用该函数而不是运行测试。在这个函数中,我可以定义测试将如何运行。例如我可以实现全局设置和拆卸:

golangfunc TestMain(m *testing.M) {    setup()    pre := m.Run()     shutdown()    os.Exit(pre)}

可以在此处找到其他一些示例。

在最新版本中添加到 Go 测试框架的 TestMain 功能是几个测试用例的简单解决方案。TestMain 提供了一个全局钩子来执行设置和关闭,控制测试环境,在子进程中运行不同的代码,或检查测试代码泄漏的资源。大多数包不需要 TestMain,但在需要时它是一个受欢迎的补充。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5651178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存