【Datawhale】GoTask12: 单元测试

单元测试

Go本身提供了一套轻量级的测试框架。符合规则的测试代码会在运行测试时被自动识别并
执行。单元测试源文件的命名规则如下:在需要测试的包下面创建以“_test”结尾的go文件,形
如[^.]_test.go。
Go的单元测试函数分为两类:功能测试函数和性能测试函数,分别为以Test和Benchmark
为函数名前缀并以
testing.T为单一参数的函数

func TestAdd1(t *testing.T)
func BenchmarkAdd1(t *testing.T)
func TestAdd1(t *testing.T) {
r := Add(1, 2)
if r != 2 { // 这里本该是3,故意改成2测试错误场景
t.Errorf("Add(1, 2) failed. Got %d, expected 3.", r)
}
}
//执行功能单元测试非常简单,直接执行go test命令即可。下面的代码用于对整个
func BenchmarkAdd1(b *testing.B) {
b.StopTimer() // 暂停计时器
DoPreparation() // 一个耗时较长的准备工作,比如读文件
b.StartTimer() // 开启计时器,之前的准备时间未计入总花费时间内
for i := 0; i < b.N; i++ {
Add(1, 2)
}
}

性能单元测试的执行与功能测试一样简单,只不过调用时需要增加-test.bench参数而已,
具体代码如下所示:

go test–test.bench add.go
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值