我想检查代码是否正在运行go test
,以便我可以进行一些配置。
有没有这样做的功能? 像:
runtime.IsBeingTested()
答案 0 :(得分:2)
只需指定您在测试init
中运行测试即可。例如,在pkg.go中:
package pkg
var isTesting = false
// ...
在pkg_test.go中:
package pkg
func init() {
isTesting = true
}
// ...
此技术不仅可以用于bool
,还可以用于任何数据或功能。如果你的包中有一些变量(在你的情况下是一个配置变量),你可以在init
中覆盖它。