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


}
相关推荐
源代码•宸20 小时前
goframe框架签到系统项目(BITFIELD 命令详解、Redis Key 设计、goframe 框架教程、安装MySQL)
开发语言·数据库·经验分享·redis·后端·mysql·golang
王中阳Go1 天前
Golang框架封神榜!GitHub星标TOP8大比拼,选对框架少走3年弯路
后端·面试·go
王中阳Go1 天前
05 Go Eino AI应用开发实战 | Docker 部署指南
人工智能·后端·go
普通网友1 天前
Bash语言的图算法
开发语言·后端·golang
雨岚霏1 天前
Bash语言的数据库编程
开发语言·后端·golang
Way2top1 天前
Go语言动手写Web框架 - Gee第三天 前缀树路由Router
go
王中阳Go1 天前
06 Go Eino AI应用开发实战 | Eino 框架核心架构
人工智能·后端·go
bybitq1 天前
Go函数闭包实战-复用函数
ios·golang·xcode
ChineHe1 天前
Gin框架基础篇002_获取/绑定请求参数
后端·golang·gin
Python私教1 天前
鸿蒙应用的测试和调试完全指南:从单元测试到性能分析
华为·单元测试·harmonyos