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

时间:2015-02-12 11:28:44

标签: testing go

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

有没有这样做的功能? 像:

runtime.IsBeingTested()

1 个答案:

答案 0 :(得分:2)

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

package pkg

var isTesting = false

// ...

在pkg_test.go中:

package pkg

func init() {
    isTesting = true
}

// ...

此技术不仅可以用于bool,还可以用于任何数据或功能。如果你的包中有一些变量(在你的情况下是一个配置变量),你可以在init中覆盖它。