Go语言内置测试框架,只需命名测试文件为*_test.go并放在同一目录下,用Test开头定义测试函数,通过go test命令运行测试,支持表格驱动和详细输出。

Go语言自带了单元测试框架,不需要额外安装第三方工具就能编写和运行测试。只要按照约定的命名规则和目录结构组织代码,就可以直接使用 go test 命令执行测试。
Go要求测试文件以 _test.go 结尾,并且放在对应包的同一目录下。例如:
这样 go test 才能自动识别并加载测试用例。
每个测试函数必须以 Test 开头,参数类型为 *testing.T。示例:
立即学习“go语言免费学习笔记(深入)”;
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
t.Errorf("期望 5,但得到了 %d", result)
}
}你可以使用 t.Log 记录调试信息,t.Errorf 触发失败但继续执行,t.Fatalf 遇错立即终止。
在项目根目录或包目录下执行:
对于多个用例,推荐使用切片定义测试数据,结构清晰易维护:
func TestDivide(t *testing.T) {
tests := []struct {
a, b int
expected int
err string
}{
{10, 2, 5, ""},
{5, 0, 0, "除数不能为零"},
}
for _, tt := range tests {
t.Run(fmt.Sprintf("%d/%d", tt.a, tt.b), func(t *testing.T) {
result, err := Divide(tt.a, tt.b)
if tt.err != "" {
if err == nil || err.Error() != tt.err {
t.Errorf("期望错误 %q,实际得到 %v", tt.err, err)
}
} else {
if result != tt.expected {
t.Errorf("期望 %d,但得到了 %d", tt.expected, result)
}
}
})
}
}基本上就这些。Go 的测试机制简洁高效,配合 IDE 支持还能实现一键运行和覆盖率查看。不复杂但容易忽略细节,比如测试函数名拼写错误会导致被忽略。确保遵循规范,就能顺利开展单元测试。
以上就是Golang环境搭建如何配置单元测试框架的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号