前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang单元测试整理归纳

golang单元测试整理归纳

作者头像
千灵域
发布2022-06-17 12:46:38
1970
发布2022-06-17 12:46:38
举报
文章被收录于专栏:challenge filter

本文目的 复习并整理go test相关知识 要求:能让我在短时间内通过阅读该文掌握写一份go单元测试所需要的知识

参考资料

  • Go by example,中文版,例子确实是最快的学习方式。

基础知识

一般测试文件应该与被测试文件放在同一个目录下,比如被测试代码为intutils.go时,被测试代码应该写为intutils_test.go

通常会编写一个名称以Test开头的函数来创建测试(这个我记得是必须的,不然识别不出来)。例如GoLand自动生成的测试文件(Alt+Insert,之前写Java的时候经常用这个来生成DAO)

代码语言:javascript
复制
func TestTest(t *testing.T) {
	type args struct {
		a int
	}
	tests := []struct {
		name string
		args args
		want int
	}{
		// TODO: Add test cases.
//{name,args{},want},...
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			if got := Test(tt.args.a); got != tt.want {
				t.Errorf("Test() = %v, want %v", got, tt.want)
			}
		})
	}
}

一些常用函数:

  • t.Error*会报告测试失败的信息,然后继续进行测试(wildcard,通配符,不是指针)
  • t.Fail*会报告测试失败的信息,然后立即终止测试
  • t.Run可以运行一个subtests子测试。一个子测试对应着tests数组中的一行数据,在go test -v中会分开显示。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考资料
  • 基础知识
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档