golang testing包测试用例和性能测试
发布时间: 2016-01-10 浏览次数:2802 分类: GO
如何保证代码的质量和可靠性?Golang自带了testing包可用来实现测试用例和性能测试.
如下为例,新建gotest项目目录,编写两个文件bubblesort.go和bubblesort_test.go
bubblesort.go
bubblesort_test.go
golang测试用例使用原则:
- 文件名必须是_test.go结尾的,这样在执行go test的时候才会执行到相应的代码
- 你必须import testing这个包
- 所有的测试用例函数必须是Test开头
- 测试用例会按照源代码中写的顺序依次执行
- 测试函数TestXxx()的参数是testing.T,我们可以使用该类型来记录错误或者是测试状态
- 测试格式:func TestXxx (t *testing.T),Xxx部分可以为任意的字母数字的组合,但是首字母不能是小写字母[a-z],例如Testintdiv是错误的函数名。
- 函数中通过调用testing.T的Error, Errorf, FailNow, Fatal, FatalIf方法,说明测试不通过,调用Log方法用来记录测试的信息。
golang压力测试使用原则:
如何运行测试用例?在项目目录下运行:go test
显示详细测试通过和log信息:go test -v
查看测试覆盖率:go test -cover
如果运行压力测试?执行: go test -test.bench=".*"
还可以利用go tool pprof工具生产性能报告.
- 压力测试用例必须遵循如下格式,其中XXX可以是任意字母数字的组合,但是首字母不能是小写字母
- go test不会默认执行压力测试的函数,如果要执行压力测试需要带上参数-test.bench,语法:-test.bench="test_name_regex",例如go test -test.bench=".*"表示测试全部的压力测试函数
- 在压力测试用例中,请记得在循环体内使用testing.B.N,以使测试可以正常的运行
- 文件名也必须以_test.go结尾
如何运行测试用例?在项目目录下运行:go test
显示详细测试通过和log信息:go test -v
查看测试覆盖率:go test -cover
如果运行压力测试?执行: go test -test.bench=".*"
还可以利用go tool pprof工具生产性能报告.
转载请注明地址:
http://www.phpddt.com/go/go-testing.html 尊重他人劳动成果就是尊重自己!