GoLang教程——单元测试与基准测试

在 Go 语言中,测试不是“一等公民”,而是“超等公民”。Go 编译器自带了 go test 工具,标准库提供了 testing 包,这使得编写测试变得异常简单且规范。 本章将详细介绍: 1. 单元测试:如何编写基础测试用例。 2. 表格驱动测试:Go 社区推荐的最佳实践,如何用更少的代码覆盖更多的场景。 3. 基准测试 (Benchmark):如何科学地测量代码的性能。 1. 基础单元测试 Go 的测试文件必须以 _test.go 结尾,测试函数必须以 Test 开头。 假设我们要测试一个简单的加法函数(保存为 math.go): package math func Add(a, b int) int { return a + b } 对应的测试文件(保存为 math_test.go): package math import ( "testing" ) // 测试函数签名:func TestXxx(t *testing.T) func TestAdd(t *testing.T) { got := Add(1, 2) want := 3 if got != want { // t.Errorf 输出错误信息,测试继续执行 // t.Fatalf 输出错误信息,并立即终止当前测试函数 t.Errorf("Add(1, 2) = %d; want %d", got, want) } } ...

2025-02-19 · 2 min · 324 words · Hank