golang 如何判断当前是否是运行单元测试?

我们在go的模块化开发的时候,运行模块里面的单元测试时,当前整个模块的 init 函数都会被执行,在某些情况下我们运行独立的单元测试并不需要执行其他文件里面的init函数,这时就需要判断当前是否是在运行单元测试,判断方式很简单,只需要判断当前运行参数是否是以-test开始即可,if len(os.Args) > 1 && strings.HasPrefix(os.Args[1], "-test") { } 。

完整判断代码如下:

Go 复制代码
func init() {

	// 如果是运行的单元测试,则跳过viper加载配置文件 避免找不到配置文件的异常
	// 单元测试 的情况下不加载viper配置
	if len(os.Args) > 1 && strings.HasPrefix(os.Args[1], "-test") {
		return // 当前运行当前测试,直接返回
	}
	    
   


}
相关推荐
汽车仪器仪表相关领域3 小时前
NHFID-1000型非甲烷总烃分析仪:技术破局,重构固定污染源监测新体验
java·大数据·网络·人工智能·单元测试·可用性测试·安全性测试
wechat_Neal3 小时前
Golang的车载应用场景
开发语言·后端·golang
念越4 小时前
蓝桥杯4期模拟单元测试解析
蓝桥杯·单元测试
中智凯灵4 小时前
采纳率从3%到80%:智能单元测试生成的进化之路
单元测试
Wenweno0o5 小时前
Eino-Graph 实战详解
golang·智能体·eino
咬_咬8 小时前
go语言学习(数组与切片)
开发语言·学习·golang·数组·切片
xwz小王子9 小时前
智元发布 GO-2:动作空间推理 + 全生命周期闭环,让机器人稳定可靠落地
开发语言·golang·机器人
GDAL10 小时前
Go Channel `make()` 深入全面讲解
golang·make·通道
苗苗大佬10 小时前
学习go语言
go