This commit is contained in:
Xargin
2016-08-03 16:27:12 +08:00
parent caa6653b3d
commit ea4d66c603
4 changed files with 6 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
## 11.1. go test
go test命令是一个按照一定的约定和组织测试代码的驱动程序。在包目录内所有以_test.go为后缀名的源文件并不是go build构建包的一部分它们是go test测试的一部分。
go test命令是一个按照一定的约定和组织测试代码的程序。在包目录内,所有以`_test.go`为后缀名的源文件在执行go build时不会被构建包的一部分它们是go test测试的一部分。
\*_test.go文件中有三种类型的函数测试函数、基准测试函数、示例函数。一个测试函数是以Test为函数名前缀的函数用于测试程序的一些逻辑行为是否正确go test命令会调用这些测试函数并报告测试结果是PASS或FAIL。基准测试函数是以Benchmark为函数名前缀的函数它们用于衡量一些函数的性能go test命令会多次运行基准函数以计算一个平均的执行时间。示例函数是以Example为函数名前缀的函数提供一个由编译器保证正确性的示例文档。我们将在11.2节讨论测试函数的所有细节,在11.4节讨论基准测试函数的细节然后在11.6节讨论示例函数的细节。
`*_test.go`文件中,有三种类型的函数:测试函数、基准测试(benchmark)函数、示例函数。一个测试函数是以Test为函数名前缀的函数用于测试程序的一些逻辑行为是否正确go test命令会调用这些测试函数并报告测试结果是PASS或FAIL。基准测试函数是以Benchmark为函数名前缀的函数它们用于衡量一些函数的性能go test命令会多次运行基准函数以计算一个平均的执行时间。示例函数是以Example为函数名前缀的函数提供一个由编译器保证正确性的示例文档。我们将在11.2节讨论测试函数的所有细节,在11.4节讨论基准测试函数的细节然后在11.6节讨论示例函数的细节。
go test命令会遍历所有的\*_test.go文件中符合上述命名规则的函数然后生成一个临时的main包用于调用相应的测试函数然后构建并运行、报告测试结果,最后清理测试中生成的临时文件。
go test命令会遍历所有的`*_test.go`文件中符合上述命名规则的函数生成一个临时的main包用于调用相应的测试函数接着构建并运行、报告测试结果,最后清理测试中生成的临时文件。