单元测试测试单个函数或小片段逻辑,以确保修改后代码仍按预期运行。实战案例包括编写函数、创建测试文件、定义测试用例并使用 t.Errorf 报告测试失败。最佳实践包括为每个函数编写测试、使用有意义的测试用例名称、测试各种输入、经常运行测试并保持测试简单。
单元测试是测试代码库中的单个函数或小片段逻辑的过程。它们有助于确保在修改后代码仍然按预期运行,并减少引入错误的风险。
考虑以下函数,该函数计算两个数字的和:
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 github.com/username/mypackage 0.004s
t.Errorf
报告测试失败。以上是golang函数的单元测试的详细内容。更多信息请关注PHP中文网其他相关文章!