Go
语言拥有一套单元测试和性能测试系统,仅需要添加很少的代码就可以快速测试一段需求代码。
单元测试
单元测试除了用来测试逻辑算法是否符合预期外,还承担着监控代码质量的责任。
Go
语言工具链和标准库自带了单元测试框架,这让测试工作变得相对容易。
- 测试代码须放在当前包以
"_test.go"
结尾的文件中。 - 测试函数以
Test
为名称前缀。 - 测试命令(
go test
)忽略以"_"
或者"."
开头的测试文件。 - 正常的编译操作会忽略测试文件。
比如我在cala
目录下编写了一个Add()
函数,我想测试一下这个函数的输出是否符合预期,首先第一步,我们在cala
目录下编写一个名为"Add_test.go"
的函数。此时cala
目录下存在两个go
文件。
D:\gocode\src\Golandtest\calc>ls
Add.go Add_test.go
我们打开Add_test.go
文件,定义一个名为TestAdd()
的测试函数,该函数传入的参数是*testing.T
,功能是测试Add()
函数是否能够获得预期的结果。
func TestAdd(t *testing.T) {
if Add(1,2) != 3{
t.FailNow()
}
}
这个时候我们回到终端,输入go test
命令,即可进行测试。
D:\gocode\src\Golandtest\calc