学习
实践
活动
工具
TVP
写文章

Go 如何编写简洁测试-表格驱动测试

首发于:https://studygolang.com/articles/12682

表格驱动测试是一种编写易于扩展测试用例的测试方法。表格驱动测试在 Go 语言中很常见(并非唯一),以至于很多标准库1都有使用。表格驱动测试使用匿名结构体。

在这篇文章中我会告诉你如何编写表格驱动测试。继续使用 errline repo 这个项目,现在我们来为函数添加测试。函数用于给一个在调用位置添加文件名和行数的修饰。我们尤其需要测试其中计算文件的短名称的逻辑(以粗体表示部分)。最初的函数如下:

为了测试短文件名计算的逻辑更加简便,我们将这部分逻辑提取出来作为函数。代码现在变成这样:

通过重构代码使其便于测试是很常见的做法。

我们现在通过传递多个文件名参数来测试,验证其输出结果是否符合预期。

我们先从一个空的测试函数开始:

紧接着,我们引入一个包含字段和的匿名结构体(struct)。表示传递给的参数,则代表我们预期的返回结果。是包含多个这样结构体的一个数组。

有了这个,我们就能通过循环来实现我们的测试方法。

可以注意到,添加测试用例极其简单,只需在中添加项目即可。

这个方案可以扩展以适应于测试接受和返回多个参数的方法。

就这样了。

代码可以从 我的 github 获取。

上一教程 - 多态

下一教程 - go安装

via: https://golangbot.com/polymorphism/

作者:Viru

译者:alfred-zhong

校对:polaris1119

本文由 GCTT 原创编译,Go 中文网 荣誉推出

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180625G0E1FC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券