go test是Go语言执行测试的标准方式,通过_test.go文件中的Test开头函数进行单元测试,Benchmark开头函数进行性能测试,支持-v、-run等选项控制执行行为。

在Go语言中,go test 是执行测试的标准方式。只要按照约定编写测试文件,就可以轻松运行单元测试、性能测试,并查看覆盖率等信息。
Go的测试文件必须以 _test.go 结尾,且通常放在被测代码所在的包目录下。测试函数名必须以 Test 开头,且接收一个 *testing.T 参数。
例如,假设有一个文件math.go,其中包含一个加法函数:
func Add(a, b int) int {
return a + b
}
math_test.go 应如下:
package main
import "testing"
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
t.Errorf("期望 5,但得到了 %d", result)
}
}
在项目根目录或包含测试文件的目录下,执行以下命令运行测试:
go test
立即学习“go语言免费学习笔记(深入)”;
如果测试通过,输出类似:ok example/math 0.001s
go test -run=Add 只运行函数名包含 Add 的测试Go还支持基准测试,用于测量函数性能。基准函数以 Benchmark 开头,接收 *testing.B 参数。
在 math_test.go 中添加:
func BenchmarkAdd(b *testing.B) {
for i := 0; i < b.N; i++ {
Add(2, 3)
}
}
go test -bench=.
BenchmarkAdd-8 1000000000 0.30 ns/op
Go内置了覆盖率统计功能。使用以下命令生成覆盖率数据:
go test -coverprofile=coverage.out
go tool cover -html=coverage.out
基本上就这些。只要遵循命名规范,go test 就能自动发现并执行测试,配合简洁的API,让测试变得简单高效。
以上就是Golang如何使用go test命令执行测试的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号