• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Go单元测试与性能测试

Go 海叔叔 1天前 4次浏览 已收录 0个评论

在Go语言中做单元测试和性能测试是一件非常容易的事情——Go自带了测试工具包,testing包。
通常,测试代码和功能代码在同一个包中,测试代码以“_test”结尾。测试有两种类型,一种是单元测试(UnitTest),一种是性能测试(Benchmark)。接下来将会介绍一下如何写这两种测试。单元测试
首先创建一个测试文件,命名foo_test.go(提示: 以test结尾)
接下来是创建测试函数,Test_Foo(提示:测试函数以Test开头,传入*testing.T指针),代码如下:

这里什么也没做,只是创建了一个空的测试函数,但确实是能运行的测试函数!如果你的编辑器支持测试提示(提示:vscode支持),那么你可以在函数上面看到一行小字,

直接点击就可以运行测试。如果没有这种提示,那么可以执行命令:go test foo_test.go 来运行这个测试,测试的结果将会是:

做一个完整的测试和其他的语言或者和我们想象中的并没有什么差异。基本流程都是:传入我们假设的参数,执行待测试的函数,断言待测试的函数的输出是否和我们预期的相符合。

一个简单的单元测试的例子,测试max函数是否能返回正确的值。

把 max函数 中的 if a>=b 改成 a<=b,测试将不会通过。

性能测试

性能测试用于测试某个函数或者某段代码的性能,测试代码以Benchmark开头,传入*testing.B指针。
针对上面的max函数创建一个性能测试,代码如下:

如果你的编辑器支持,那么你将会在Benchmark上面看到一行小字
如果不支持,那么可以用命令行运行:go test foo_test.go –bench=.


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址