go testing模块
https://juejin.cn/post/7172037988950474759
# 如何使用?
import "testing"
func TestAbc(t *testing.T) {
t.Error() // 表示测试失败
}
1
2
3
4
2
3
4
这是 Go 中单元测试的基本结构。内置的 testing 包是由 Go 的标准库提供的。单元测试是一个函数,它接收类型为 *testing.T 的参数并在其上调用 Error(或稍后我们看到的任何其他错误方法)。这个函数必须以 Test 关键字开头,后面的名称必须以大写字母开头(例如,TestMultiply 而不是 Testmultiply)。
# 单元测试规范
每个测试函数都必须导入 testing 包。测试函数的命名类似
func TestName(t *testing.T)
,入参必须是*testing.T
测试函数的函数名必须以大写的 Test 开头,后面紧跟的函数名,要么是大写开关,要么就是下划线,比如
func TestName(t *testing.T)
或者func Test_name(t *testing.T)
都是 ok 的, 但是func Testname(t *testing.T)
不会被检测到通常情况下,需要将测试文件和源代码放在同一个包内。一般测试文件的命名,都是
{source_filename}_test.go
,比如我们的源代码文件是allen.go ,那么就会在 allen.go 的相同目录下,再建立一个 allen_test.go 的单元测试文件去测试 allen.go 文件里的相关方法。
当运行 go test 命令时,go test 会遍历所有的 *_test.go
中符合上述命名规则的函数,然后生成一个临时的 main 包用于调用相应的测试函数,然后构建并运行、报告测试结果,最后清理测试中生成的临时文件。
编辑 (opens new window)
上次更新: 2024/02/22, 14:03:19