Go语言入门24:测试

Keywords: #技术 #Golang #Go 入门笔记
Table of Contents

Go 语言入门基础学习笔记之 Go 语言的测试

golang

测试

Go 语言中的测试依赖 go test 命令。编写测试代码和编写普通的 Go 代码过程是类似的,并不需要学习新的语法、规则或工具。

在包目录内,所有以 _test.go 为后缀名的源代码文件都是 go test 测试的一部分,不会被 go build 编译到最终的可执行文件中。

*_test.go 文件中有三种类型的函数,单元测试函数、基准测试函数和示例函数。

类型格式作用
测试函数函数名前缀为 Test测试程序的一些逻辑行为是否正确
基准函数函数名前缀为 Benchmark测试函数的性能
示例函数函数名前缀为 Example为文档提供示例文档

go test 命令会遍历所有的 *_test.go 文件中符合上述命名规则的函数,然后生成一个临时的 main 包用于调用相应的测试函数,然后构建并运行、报告测试结果,最后清理测试中生成的临时文件。

Go 语言的单元测试对文件名和方法名,参数都有很严格的要求。

  1. 文件名必须以 xx_test.go 命名
  2. 方法必须是 Test[^a-z] 开头
  3. 方法参数类型必须 *testing.T
  4. 使用 go test 执行单元测试

在进行测试之前,需要导入 testing 的包:

import "testing"

具体测试示例和方法,可以参考:

  1. 单元测试 · Go语言中文文档
  2. 压力测试 · Go语言中文文档
  3. 测试 - Go语言圣经