发布于2026-07-18 阅读(0)
扫一扫,手机访问
在 Linux 下用 Go 写单元测试,其实流程比想象中要清爽得多。不需要复杂的配置,也不依赖额外的框架,Go 自带的 testing 包就能搞定大部分场景。下面把关键步骤拆开来说,跟着走一遍基本就清楚了。

创建测试文件 —— 命名规则很直接:把你要测试的源文件名字后面加上 _test.go 就行。比如你有一个 main.go,对应的测试文件就是 main_test.go。这个文件要放在同一个包目录下,不需要额外注册。
导入必要的包 —— 测试文件里至少要导入 testing 包,这是 Go 测试框架的入口。如果涉及 HTTP 测试或字节缓冲区操作,再按需加上 net/http/httptest、bytes 这些包。注意,不用额外引入类似 fmt,除非你确实需要打印调试信息。
编写测试函数 —— 每个测试函数必须以 Test 开头,后面跟一个能说明测试意图的名字(比如 TestSum)。函数参数是 *testing.T 类型,用来报告失败或记录日志。举个例子:
package main
import "testing"
func TestSum(t *testing.T) {
result := Sum(2, 3)
if result != 5 {
t.Errorf("Sum(2, 3) = %d; want 5", result)
}
}
这段代码测试的是 Sum 函数,如果结果不对,测试就会失败并给出明确的错误信息。
运行测试 —— 直接在终端里敲 go test,它会自动查找当前目录下所有 _test.go 文件并执行其中的测试函数。输出结果会告诉你每个测试是 pass 还是 fail。
查看测试覆盖率 —— 想知道代码被测试覆盖了多少?加个 -cover 标志:
go test -cover
如果想生成更详细的报告,可以用 -coverprofile 输出到一个文件:
go test -coverprofile=coverage.out
然后通过 go tool cover 查看 HTML 形式的可视化报告:
go tool cover -html=coverage.out
这会在浏览器里打开一个页面,哪些代码行被覆盖了、哪些没跑过,一目了然。
这几步走完,Linux 上 Go 单元测试的基础流程就搭建起来了。实际项目中,测试文件和业务代码一样需要持续维护,但有了这个骨架,后面再写更复杂的测试(比如表驱动测试、Mock 接口)就顺理成章了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8