解析 Golang 测试(11)- 模糊测试

Go 1.18 开始提供了 fuzzing 能力的支持,testing 包在我们常见的 T, B 之外新增了 F 的类型,用于支持模糊测试。 那到底什么是模糊测试?Golang 提供了什么样的支持?作为开发者我们在什么场景下可以用呢? 今天我们继续【解析 Golang 测试】系列,带大家一起了解一下...

标签: 测试
发表于:2022-9-2 / 阅读(935) / 评论(0) 分类 Go语言
解析 Golang 测试(10)- 什么是好的单测

前面 9 讲我们谈论了很多工具层面的问题,什么是 mock,fake,stub,断言工具有哪些,官方提供了哪些支持等等。有了这些,我们写单测时会更加方便。但并不一定能写出好的单测。甚至可以说,二者的关联极小。 试想一下,回到中学时代,你给一个学生非常全面的文具,课本,教科书,他就一定能学习好么?并不...

标签: 测试
发表于:2022-9-2 / 阅读(141) / 评论(0) 分类 Go语言
解析 Golang 测试(9)- 一篇文章搞懂 testify

眨眼间,我们的【解析 Golang 测试】系列已经到第九篇了,一开始写的时候只是想补齐自己对于测试的方法论和工具的理解,一两篇文章也就够了,越写到后来发现越有意思,便一直更新下来。

标签: 测试
发表于:2022-9-2 / 阅读(153) / 评论(0) 分类 Go语言
解析 Golang 测试(8)- gomonkey 实战

今天继续我们的【解析 Golang 测试】之旅,经过前面的文章,相信大家对于单测的概念,原生支持,以及常见的 fake,mock 方案都有了一定了解。还不熟悉的同学建议回顾一下我们此前的文章。

标签: 测试
发表于:2022-9-2 / 阅读(132) / 评论(0) 分类 Go语言
解析 Golang 测试(7)- 如何针对 Redis 进行 Fake 测试

上一篇中,我们学习了 SQLite 和 go-mysql-server 这两种作为 MySQL Fake 的方式,这样可以让我们早单测阶段就暴露 SQL 语句可能的问题。

标签: 测试
发表于:2022-9-2 / 阅读(135) / 评论(0) 分类 Go语言
解析 Golang 测试(6)- 如何针对 MySQL 进行 Fake 测试

前面我们了解了什么是 Fake 和 Mock,并学习了对 sql 进行 Mock 的经典driver 库 sqlmock ,今天我们则是来看一看,针对 MySQL 我们有什么 Fake 的选项。

标签: 测试
发表于:2022-9-2 / 阅读(140) / 评论(0) 分类 Go语言
解析 Golang 测试(5)- MySQL 经典 mock driver—— sqlmock

时至今日,国内互联网绝大多数公司都在使用 MySQL 作为持久化存储,使用频率非常高。 上一篇文章中我们已经对 Fake,Mock,Stub 的概念做了区分 解析 Golang 测试(4)- 一篇文章教你分清 Mock,Stub,Fake,不清楚的同学建议先阅读一下再看这一篇。

标签: 测试
发表于:2022-9-2 / 阅读(132) / 评论(0) 分类 Go语言
解析 Golang 测试(4)- 一篇文章教你分清 Mock,Stub,Fake

今天继续我们的【解析Golang测试】第四篇,对此前文章感兴趣的同学可以点击进入: 解析 Golang 测试(1)- 原生支持 解析 Golang 测试(2)- gomock 解析 Golang 测试(3)- goconvey 实战 日常开发测试中,我们经常遇到各种【替代对象】的叫法...

标签: 测试
发表于:2022-9-2 / 阅读(131) / 评论(0) 分类 Go语言
解析 Golang 测试(3)- goconvey 实战

今天我们继续 Golang 测试之旅,在此前的文章中我们介绍了 Golang 标准库对测试的原生支持,以及经典的 golang/gomock。而我们今天的主角则是另一个经典的开源库:goconvey。 goconvey 是一套单元测试框架,比原生的go testing 好用很多。goconvey提供...

标签: 测试
发表于:2022-9-2 / 阅读(135) / 评论(0) 分类 Go语言
解析 Golang 测试(2)- gomock

上一篇文章 解析 Golang 测试 - 原生支持(1)中,我们了解了 Golang 官方 testing 库提供的支持。 今天我们一起看一下官方提供的一个 mock 工具:gomock

标签: 测试
发表于:2022-9-2 / 阅读(135) / 评论(0) 分类 Go语言
解析 Golang 测试(1)- 原生支持

开篇 我们在开发需求时,常常需要关注四个方面: 是否和需求匹配; 代码是否足够健壮,安全; 性能是否达标; 是否具备足够的扩展性,利于后期迭代维护。

标签: 测试
发表于:2022-9-2 / 阅读(133) / 评论(0) 分类 Go语言
golang-使用 go test 输出单元测试覆盖率

一、背景 单元测试覆盖率是衡量代码质量的一个重要指标,重要的代码文件覆盖率应该至少达到80%以上。Java 可以通过JaCoCo 统计覆盖率,那么go 项目如何进行代码覆盖率测试呢? 二、统计方式 1、生成覆盖率报告(go test 指令) 我们知道直接执行测试代码的指令: go test 指定文件...

发表于:2022-3-29 / 阅读(370) / 评论(0) 分类 Go语言
Go单测 mock数据库测试

这是Go语言单元测试从零到溜系列教程的第2篇,介绍了如何使用go-sqlmock和miniredis工具进行MySQL和Redis的mock测试。 在上一篇《Go单测从零到溜系列——1.网络测试》中,我们介绍了如何使用httptest和gock工具进行网络测试。 除了网络依赖之外,我们在开发中也会经...

标签: 测试
发表于:2021-9-16 / 阅读(302) / 评论(0) 分类 Go语言