您好,欢迎来到客趣旅游网。
搜索
您的当前位置:首页「GoCN酷Go推荐」golang 单元测试最佳实践

「GoCN酷Go推荐」golang 单元测试最佳实践

来源:客趣旅游网

为什么要进行单元测试?

在没工作之前,说实话没怎么写过单元测试,很多情况下就是一边写代码,一边运行,用 fmt.Println() 打印变量,再稍微复杂一点的也许会用 dlv 去 debug 代码,找出问题。

但是在做公司做大型项目时就会发现,你根本就没办法把项目跑起来,这个时候你只能通过写单元测试去看自己的逻辑对不对。

当然仍旧会出现一个问题,当你的功能中又调用了其他的接口,但这个接口在你当前的环境中是没办法正常调用的,比如数据库连接,文件 I/O。网络I/O 等。这个时候就需要一个 好用的 mock 库了,简单来说就是用 mock 对象模拟依赖项的行为,这里我推荐使用 gomonkey。

从另一个角度讲,为什么需要单元测试呢,因为我们一般项目都有覆盖率的要求,写单测当然是也是为了提高代码覆盖率咯,不然代码都无法提交到 gitlab 上。

gomonkey 入门

安装 gomonkey

go get github.com/agiledragon/gomonkey

gomonkey 常见用法

  • mock 一个函数

  • mock 一个成员方法

  • 其他用法可参考官方文档

业务代码如下:

package mock

import (
 "encoding/json"
 "io/ioutil&

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- kqyc.cn 版权所有 赣ICP备2024042808号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务