本篇内容介绍了“go语言怎么进行性能测试”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
我们可以为Go程序编写三类测试,即:功能测试(test)、基准测试(benchmark),也称性能测试(example)
测试文件的主名称应该以被测试文件主名称为先导,并且以_test为后缀。例:demo.go 的测试文件名称应为demo_test.go。
一般情况下一个测试文件只给一个源码文件做测试,demo_test.go只测试demo.go文件。
测试文件与被测试文件应该放在同一个代码包内
对于功能测试函数来说,其名称必须以Test为前缀,并且参数列表中只应有一个*testing.T类型的参数声明。
对于性能测试函数来说,其名称必须以Benchmark为前缀,并且唯一参数的类型必须是*testing.B类型的。
对于示例测试函数来说,其名称必须以Example为前缀,对函数的参数列表没有强制规定。
package demo import ( "fmt" "testing" ) //功能测试 func TestMethod(t *testing.T) { fmt.Println("function test") } //基准测试 func BenchmarkMethod(b *testing.B) { fmt.Println("benchmark test") } //性能测试 func Examplemethod(t *testing.T) { fmt.Println("example test") } func Method(t *testing.T) { fmt.Println("Method") }
go test 命令,会自动读取源码目录下面名为 *_test.go 的文件,生成并运行测试用的可执行文件。
运行go test 命令会运行符合规定的测试代码;
go test命令就会针对每个被测代码包,依次地进行构建、执行包中符合要求的测试函数,清理临时文件,打印测试结果。
命令:
go test demo #go test [目录]
这里是否读缓存不会影响我们的测试结果,如果想清初缓存可以执行: go clean -cache
#格式:go test -bench=. -run=^$ [目录] go test -bench=. -run=^$ demo
-bench= 指要进行性能测试
. 需要执行任意名称的性能测试函数(符合规则)
-run=^$ 需要执行哪些功能的测试函数
^$ 只执行名称为空的功能测试函数(不执行任何功能函数)
输出的内容:
function test benchmark test goos: windows goarch: amd64 pkg: demo BenchmarkMethod-8 benchmark test benchmark test benchmark test benchmark test benchmark test 2000000000 0.00 ns/op PASS ok demo 0.262s
“go语言怎么进行性能测试”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。