一、golang单元测试规范介绍:
1、单元测试文件名称:*_test.go;
2、单元测试文件中,函数的名称为:TestXXX,其中xxx必须以大写字母开头;
二、当执行go test命令进行单元测试时,*_test.go文件中要测试的函数没在该文件中定义,而是在其它源文件(.go文件)中定义的,需要把对应源文件也作为go test命令的参数,比如源码文件结构如下所示:
//源文件:project/sum.go
package sum
func Sum(num1, num2 int64) int64 {
return num1+num2
}
// 单元测试文件:project/sum_test.go
package sum
import "testing"
func TestSum(t *testing.T) {
t.Log(Sum(1,2))
}
虽然单元测试文件(sum_test.go)和被测试函数(Sum)在同一个包下,但是通过命令行go test来运行但云测试文件时,执行:
go test sum_test.go //会报"undefined: Sum"错误,即找不到Sum函数的定义
正确方式为:
go test sum_test.go sum.go //(工作目录为project时)
或者
go test project //(工作目录为../project时)代码结构为project/sum.go、project/sum_test.go
三、单元测试文件编译为二进制可执行文件

本文介绍了Golang单元测试的规范,包括测试文件命名和测试函数格式。当测试函数在其他源文件中定义时,需将源文件作为`go test`命令参数。同时,讲解了如何将单元测试文件编译为二进制可执行文件。
最低0.47元/天 解锁文章
1185

被折叠的 条评论
为什么被折叠?



