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>go test
PASS

这篇博客介绍了Go语言的单元测试和性能测试。单元测试利用内置的测试框架,确保代码逻辑正确并提高代码质量。性能测试则通过函数探测代码执行效率,包括运行时间和内存分配。此外,还提到了如何使用代码覆盖率工具来评估测试的全面性。
最低0.47元/天 解锁文章

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



