go testing测试

测试main.go 中的Sum函数

创建_test 结尾的文件,下划线前面可以自定义 a_test.go   都行

sum_test.go

package demo

import (
	"testing"
)
// 普通测试
func TestSum(t *testing.T) {
	a := Sum(10,30)
	if a == 40 {
		log.Println(666)
	}
}

go test 开始测试

 多个测试数据使用案例

package demo

import (
	"testing"
)

func TestSum(t *testing.T) {
	// 存放测试数据的结构体
	type test struct {
		a int
		b int
		c int
	}
	//创建存放数据的测试用例map
	dome := map[string]test{
		"test1" : test{a:10, b:20, c:30},
		"test2" : test{a:3, b:2, c:5},
		"test3" : test{a:1, b:2, c:3},
	}

	for i, v := range dome {
		t.Run(i, func(t *testing.T) {
			result := Sum(v.a, v.b)
			if result != v.c {
				t.Errorf("测试用例:%v 失败,实际结果:%v, 用例结果:%v ",i,result,v.c)
			}
		})
	}
}



 开始测试

 如果只想测试 test1 案例  

go test -run /test1 -v 

如果有多个测试案例 

go test -run Sum/test1 -v   (只测试Sum案例下的test1 数据)

代码测试覆盖率

go test -cover

 go 还提供啦 -coverprofile 参数,将覆盖率记录到文件中

go test  -cover -coverprofile=c.out    (将记录存放在out文件中

 当前目录会多出一个c.out文件

然后用html 方式查看 c.out文件

go tool cover -html=c.out

绿色就是覆盖率代码

基准测试

package demo

import (
	"testing"
)

//基准测试

func BenchmarkSum(b *testing.B) {
	var n int
	for i := 0; i < b.N; i++ {
		n++
	}
}

基准测试  需要添加 -bench 参数 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值