Golang单元测试学习笔记

go单元测试方法

Go语言自带一个轻量级测试框架testing,自带go test命令来实现单元测试和性能测试。
通过单元测试,简化了传统的测试步骤,可以比较方便地测试函数的运行流程和性能。主要是不用把所有调用函数的测试代码都写在main函数里面了,可以直接编写测试函数进行批量化测试。
testing 提供以包为单位的自动化测试的支持。通过 go test 命令,能够自动执行以’xxx_test.go’文件中,如下形式的任何函数:

import "testing"
// 其中 Xxx 可以是任何字母数字字符串(但第一个字母不能是 [a-z]),用于识别测试程序。
func TestXxx(*testing.T)
例子:测试div函数是否运行正常
package test

import "testing"

func div(a, b int) float64 {
	return float64(a) / float64(b)
}

func Test0div(t *testing.T) {
	if div(2, 3) != 2.0/3.0 {
		t.Fatalf("e")
	}
	t.Logf("s")
}

func Test1div(t *testing.T) {
	if div(2, 3) != 2.0/4.0 {
		t.Fatalf("e")
	}
	t.Logf("s")
}

func Test2div(t *testing.T) {
	if div(2, 3) != 2.0/3.0 {
		t.Fatalf("e")
	}
	t.Logf("s")
}

文件夹下运行go test -v命令,进行测试。

go单元测试注意点

  1. 测试用例文件名必须以_test.go结尾。比如div_test.go , div不是固定的。
  2. 测试用例函数必须以 Test 开头,一般来说就是 Test+被测试的函数名,比如 Test0Div
  3. 测试函数的形参类型必须是 *testing.T,即(t *tesing.T)
  4. 运行测试用例指令
    a. go test 如果运行正确,无日志,错误时,会输出日志
    b. go test -v 运行正确或是错误,都输出日志
  5. 编写测试程序时,可以使用 t.Fatalf 来格式化输出错误信息,执行完自动退出程序。可以使用t.Logf方法可以输出普通日志
  6. 使用单元测试时,go集成了testing框架,所以不需要main函数
  7. 测试单个方法的命令为go test -v -test.run TestXxx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值