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 // 当前运行当前测试,直接返回
	}
	    
   


}
相关推荐
Wenweno0o2 小时前
Eino - 错误处理与稳定性
golang·智能体·eino
王码码20354 小时前
Go语言中的Elasticsearch操作:olivere实战
后端·golang·go·接口
Tomhex4 小时前
Go语言import用法详解
golang·go
Tomhex6 小时前
Golang空白导入的真正用途
golang·go
Wenweno0o8 小时前
Eino - 从0到1跑通大模型调用
golang·大模型·智能体·eino
不会写DN9 小时前
IPv4 与 IPv6 的核心区别
计算机网络·面试·golang
Flandern11119 小时前
Go程序员学习AI大模型项目实战02:给 AI 装上“大脑”:从配置解包到流式生成的深度拆解
人工智能·后端·python·学习·golang
梓䈑13 小时前
gtest实战入门:从安装到TEST宏的单元测试指南
c++·单元测试
ん贤13 小时前
Go GC 非玄学,而是 CPU 和内存的权衡
开发语言·后端·golang·性能调优·gc
Dontla1 天前
go语言Windows安装教程(安装go安装Golang安装)(GOPATH、Go Modules)
开发语言·windows·golang