700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 单元测试与基准测试

单元测试与基准测试

时间:2022-10-10 01:03:10

相关推荐

单元测试与基准测试

1、单元测试:

Go 语言的测试工具只会认为以_test.go 结尾的文件是测试文件。

测试函数必须是公开的函数,以Test 单词开头,且函数的参数必须接收一个指向testing.T类型的指针,并且不返回任何值。

func TestDownload(t *testing.T){// xxx}

t.Fatal 不但报告这个单元测试已经失败,而且会向测试输出写一些消息,并立刻停止这个测试函数的执行。

t.Error 方法会报告测试失败,但是并不停止当前测试函数的执行

调用go test -v运行测试

2、基准测试:

基准测试是一种测试代码性能的方法。也可以用来识别某段代码的CPU或者内存效率问题,基准测试的文件名也必须以_test.go 结尾,同时也必须导入testing 包,基准测试函数必须以 Benchmark 开头,接受一个指向 testing.B 类型的指针作为唯一参数。

基准测试框架默认会在持续 1 秒的时间内,反复调用需要测试的函数,并且一定要将所有要进

行基准测试的代码都放到循环里,并且循环要使用 b.N 的值。

func BenchmarkSprintf(b *testing.B) {number := 10b.ResetTimer()for i := 0; i < b.N; i++ {fmt.Sprintf("%d", number)}}

go test -v -run="none" -bench="BenchmarkSprintf" -benchtime="3s"go test -v -run="none" -bench=.-benchtime="3s"

-run 选项传递了字符串"none",来保证在运行制订的基

准测试函数之前没有单元测试会被运行

-benchtime 修改默认的时间

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。