1。简介在Go1.18之前,Go语言支持功能测试、基准测试和示例测试。在Go项目开发中,功能测试用得最多,读者朋友应该对功能测试的使用比较熟悉。在Go1.18中,Go语言增加了模糊测试。在本文中,我们介绍了如何使用模糊测试。2.Go语言的fuzzing测试与其他三种测试方式相同。测试文件的文件名以_test.go结尾,测试文件中必须导入测试包。模糊测试与其他三种测试方法的区别在于函数名称和函数签名不同。我们在上一篇关于Go测试的文章中介绍过,功能测试的函数名以Test开头,函数签名为ttesting.T。性能测试的函数名以Benchmark开头,函数签名为btesting.B。fuzz测试的函数名以Fuzz开头,函数签名为ftesting.F。与功能测试和性能测试一样,运行模糊测试也使用gotest命令。读者可以运行gohelptest或gohelptestflag了解更多。3.Fuzz测试示例Go语言功能测试需要我们预先定义测试值和对应的期望值。如果测试输出结果值与预先定义的期望值相同,则认为测试通过,否则认为测试失败。示例代码:funcReverse(sstring)string{b:=[]byte(s)fori,j:=0,len(b)-1;我
