如何在运行时获取测试环境

gga*_*ngg 0 testing go

我想检查代码是否正在运行go test,以便我可以进行一些配置。

有什么功能可以做到这一点吗?喜欢:

运行时.IsBeingTested()

Ain*_*r-G 5

只需指定您在 test 的init. 例如,在 pkg.go 中:

package pkg

var isTesting = false

// ...
Run Code Online (Sandbox Code Playgroud)

在 pkg_test.go 中:

package pkg

func init() {
    isTesting = true
}

// ...
Run Code Online (Sandbox Code Playgroud)

这种技术不仅可以用于bools,还可以用于任何数据或函数。如果你的包中有一些变量(在你的例子中是一个配置变量),你可以在init.