单元测试测试单个函数或小片段逻辑,以确保修改后代码仍按预期运行。实战案例包括编写函数、创建测试文件、定义测试用例并使用 t.errorf 报告测试失败。最佳实践包括为每个函数编写测试、使用有意义的测试用例名称、测试各种输入、经常运行测试并保持测试简单。
Go 语言函数的单元测试
介绍
单元测试是测试代码库中的单个函数或小片段逻辑的过程。它们有助于确保在修改后代码仍然按预期运行,并减少引入错误的风险。
实战案例
考虑以下函数,该函数计算两个数字的和:
func Sum(a, b int) int {
return a + b
}
要测试此函数,我们可以创建一个测试文件并使用 testing
包:
import (
"testing"
)
func TestSum(t *testing.T) {
// 创建测试用例
testCases := []struct {
a, b, expected int
}{
{1, 2, 3},
{3, 5, 8},
{-1, -2, -3},
}
for _, tc := range testCases {
// 运行函数并获取结果
result := Sum(tc.a, tc.b)
// 检查结果是否等于预期值
if result != tc.expected {
t.Errorf("预期 %d,但得到 %d", tc.expected, result)
}
}
}
运行测试
使用以下命令编译并运行测试:
go test
如果所有测试都通过,您将看到如下输出:
PASS
ok <a style='color:#f60; text-decoration:underline;' href="https://www.php.cn/zt/15841.html" target="_blank">git</a>hub.com/username/mypackage 0.004s
最佳实践
- 对于每个函数或逻辑块编写一个测试函数。
- 使用有意义的测试用例名称。
- 测试各种输入和边界情况。
- 使用
t.Errorf
报告测试失败。 - 保持测试简单且容易理解。
- 经常运行测试以确保代码的正确性。
以上就是golang函数的单元测试的详细内容,更多请关注编程网其它相关文章!