英文:
How to get test environment at run time
问题
我想检查代码是否正在运行go test
,以便我可以进行一些配置。
是否有函数可以做到这一点?
像这样:
runtime.IsBeingTested()
英文:
I want to check if codes are running for the go test
,so that I could make some configurations.
Is there any function to do that?
Like:
runtime.IsBeingTested()
答案1
得分: 5
只需在测试的init
函数中指定运行测试。例如,在pkg.go文件中:
package pkg
var isTesting = false
// ...
在pkg_test.go文件中:
package pkg
func init() {
isTesting = true
}
// ...
这种技术不仅适用于bool
类型,还适用于任何数据或函数。如果你的包中有一些变量(在你的情况下是配置变量),你可以在init
函数中进行覆盖。
英文:
Just specify that you run a test in test's init
. For example, in pkg.go:
package pkg
var isTesting = false
// ...
And in pkg_test.go:
package pkg
func init() {
isTesting = true
}
// ...
This technique can be used not just with bool
s but with any data or function. If you have some variable in your package (in your case, a configuration variable), you can just override it in init
.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论