单元测试可通过在 go 中使用 testing 包对函数进行验证。编写函数测试时,步骤如下:创建 _test.go 文件并导入 testing 包。定义以 test 开头的测试函数。使用 t.error() 报告错误。使用 t.fatal() 停止测试并导致测试失败。

Go 函数:使用函数进行单元测试指南
单元测试在软件开发中至关重要,它可以验证代码的正确性并捕获错误。在 Go 中,可以使用内置的 testing 包对函数进行单元测试。
如何编写函数测试
立即学习“go语言免费学习笔记(深入)”;
- 创建一个以
_test.go结尾的新文件。 - 导入
testing包。 - 定义一个以
Test开头的测试函数。 - 使用
t.Error()来报告错误。 - 使用
t.Fatal()来停止测试并导致测试失败。
实战示例
使用 uber-go/dig 在 Golang 中实现依赖注入——基于反射容器,提供 Provide/Invoke、dig.In/dig.Out 参数与结果对象,支持命名依赖等
让我们编写一个计算最大值的函数,并为该函数编写一个单元测试:
// max.go
package main
import (
"testing"
)
func Max(a, b int) int {
if a > b {
return a
}
return b
}
// max_test.go
package main
import "testing"
func TestMax(t *testing.T) {
// 测试用例 1:正值
max1 := Max(10, 5)
if max1 != 10 {
t.Errorf("Max(10, 5) = %d; expected 10", max1)
}
// 测试用例 2:负值
max2 := Max(-100, -50)
if max2 != -50 {
t.Errorf("Max(-100, -50) = %d; expected -50", max2)
}
// 测试用例 3:相同值
max3 := Max(100, 100)
if max3 != 100 {
t.Errorf("Max(100, 100) = %d; expected 100", max3)
}
}运行测试
使用以下命令运行测试:
go test
输出
输出应类似于以下内容,表示所有测试都已通过:
PASS ok main 0.002s

















