golang学习笔记014--单元测试

golang学习笔记014--单元测试,第1张

目录 1.基本介绍2.快速入门

1.基本介绍

go语言自带有一个轻量级的测试框架testing和自带的go test命令来实现单元测试和性能测试,通过单元测试,可以解决如下问题:
●确保每个函数是可运行的,并且运行结果是正确的
● 确保写出来的代码性能是好的
●单元测试能及时发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决,而性能测试的重点在于发现程序设计上的一些问题,让程序在高并发下还能保持稳定

2.快速入门

创建cal.go

	package cal
	
	//一个被测试的函数
	func addUpper(n int) int {
		res := 0
		for i := 0; i < n+1; i++ {
			res += i
		}
		return res
	}
	
	//求两个数的和
	func getSub(n1 int, n2 int) int {
		return n1 - n2
	}

创建cal_test.go

	package cal
	
	import (
		"fmt"
		"testing" //go的testing框架包
	)
	
	//测试addUpper是否正确
	func TestAddUpper(t *testing.T) {
		//调用
		res := addUpper(10)
		if res != 55 {
			t.Fatalf("addUpper(10)执行错误,期望值=55 实际值=%v\n", res)
		}
		//如果正确,输出日志
		t.Logf("addUpper(10)执行正确")
	}
	
	func TestGetSub(t *testing.T) {
		res1 := getSub(20, 10)
		fmt.Println("正确", res1)
	
	}

使用go test -v 执行
正确的结果:

错误的结果

3.入门总结

测试用例文件名必须以 _test.go结尾,比如cal_test.go,cal不是固定的测试用例必须以Test开头,一般来说就是TestXxx,第一个字母不能是[a-z],比如TestAddUpperTestAddUpper(t *testing T)的形参类型必须是 *testing.T一个测试用例文件中,可以有多个测试用例函数go test 如果运行正确,无日志,错误时,会输出日志go test -v 运行正确或错误都输出日志当出现错误时,可以使用 Fatalf 来格式化输出错误信息,并退出程序。调用 Fatalf 相当于在调用 Logf 之后调用 FailNow 。FailNow会停止执行该函数t.Logf方法可以输出相应的日志测试用例函数,并没有放在main中也执行了,这就是测试用例方便之处PASS表示测试用例运行成功,FAIL表示测试用例运行失败测试单个文件,一定要带上被测试的原文件:go test -v cal_test.go cal.go测试单个方法:go test -v -test.run TestAddUpper

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/996219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存