一尘不染

在Go中,如何在运行时获取测试环境?

go

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

有功能吗?喜欢:

runtime.IsBeingTested()


阅读 307

收藏
2020-07-02

共1个答案

一尘不染

只需指定您在test的中运行测试即可init。例如,在pkg.go中:

package pkg

var isTesting = false

// ...

在pkg_test.go中:

package pkg

func init() {
    isTesting = true
}

// ...

该技术不仅可以与bools
一起使用,还可以与任何数据或函数一起使用。如果您的软件包中有一些变量(在您的情况下为配置变量),则可以在中将其覆盖init

2020-07-02