golang单元测试
Golang 中的单元测试是使用标准库 testing 来实现的,编写一个单元测试的步骤:
1、创建测试文件:在 Go 项目的源代码目录下创建一个新的文件(和被测代码文件在同一个包),以 _test.go 为后缀名。例如,要测试net包中 dial.go 中的方法,在 net 包中创建一个名字为 dial_test.go 文件。
2、导入 testing 包:在测试文件中导入testing包,以使用相关的的函数和工具。
3、编写测试函数:在测试文件中,编写一个以 Test 为前缀的函数,后面跟上一个或多个字符或字符组合来标识测试用例的名称(一般使用被测的函数名称),参数必须是 t *testing.T。
4、编写测试代码:如果认为测试不通过,当被测程序功能与预期不符,调用 t.Error 或 t.Errorf 方法记录错误;如果出现了使测试无法继续进行的错误,调用tFatal 和 t.Fatalf;如果测试函数体正常运行结束,没有异常,则测试通过。
5、执行单元测试命令:
-
运行当前目录中的所有测试
- go test
-
运行并显示详细信息
- go test -v
-
运行特定包中的测试
- go test ./mypackage
- go test $GOPATH/src/myproject/mypackage
-
并行运行测试
- go test -parallel=4
-
生成测试覆盖率报告
- go test -cover
-
生成并输出覆盖率报告到文件
- go test -coverprofile=coverage.out
- go tool cover -func=coverage.out
- go tool cover -html=coverage.out
-
运行特定名称的测试
- go test -run TestFunction
- go test -run Example
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)