go语言实践之测试
测试(单元测试|mock测试|基准测试)
单元测试作用:保证质量,提升效率
单元测试 单元测试的规则:
1、测试文件以_test.go 结尾
2、测试函数编写通式:
func TestXxx(参数名 *testing.T){}
3、测试初始化TestMain
func TestMain(m *testing.M){
//测试初始化前置工作,数据装载
code := m.Run() //进行所有单测
//测试后:测试工作的收尾工作
os.Exir(code)
}
4、优化测试,提高测试覆盖率、 覆盖率 = 已执行的代码 / 全部的代码 (不包含{},()等特殊符号)
Mock测试
Mock作用:通过对目标函数构建打桩函数,摆脱测试对一些重要文件的篡改
【我的理解】:用课上的例子进行说明:
通过os流获取到log文件信息,假如log文件是一些本地依赖性文件,直接使用单元测试会对原文件进行直接修改,如果修改失误可能导致原文件无法使用,因此需要使用Mock测试创建一个打桩函数对测试目标进行函数作用测试(将line110=change=>line000)进而防止原文件的错误修改
基准测试 作用:评价代码性能
通式:BenchmarkXxx(b testing.B){}
项目实战
Tip 1、vs-code 如何让go的开发更流畅 2、go中如何使用github 3、如何使用go test --cover