我是一只可爱的土拨鼠,专注于分享 Go 职场、招聘和求职,解 Gopher 之忧!欢迎关注
转载 2022-11-10 12:53:17
395阅读
一、Go语言中文网Go 官方调查变频繁了:6 月份开启新的调查,参与下吧为什么会有atomic.LoadInt32二、
原创 2022-06-13 08:55:22
10000+阅读
一、使用gomonkey stub(打桩)在测试包中创建一个模拟方法,用于替换生成代码中的方法。1、stub函数gomonkey.ApplyFunc(target,double)其中target是被mock的目标函数,double是用户重写的函数。注意点:重写的函数要和原函数入参和出参保持一致,否则会报错。2、stub方法gomonkey.ApplyMethod(reflect.TypeOf(s)
gomonkey是golang的一种打桩框架,目标是让用户在单元测试中低成本完成打桩,从而将经历聚焦于业务功能的开发。gomonkey接口友好,功能强大。另外,goconvey是一种针对golang的测试框架,可以管理和运行测试用例,同时提供了丰富的断言函数,支持多WEB界面特性。gomonkey适用场景如下:支持为一个函数打一个桩支持为一个成员方法打一个桩支持为一个全局变量打一个桩支持为一个函数
文章目录一、背景介绍二、测试框架选用2.1 sqlmock(不够通用)2.2 业务代码抽象 + testify + gomonkey 结合三、实际实现3.1 框架设计3.2 业务代码重构具体实现3.2.1 DB 层3.2.2 service3.2.3 controller3.3 测试代码实现四、总结 一、背景介绍经过上一节 对单元测试框架的基本学习,我们已经掌握了 单元测试的基本写法 但是 对一
单元测试的最终统计标准就是单测覆盖率,统计单测总体覆盖了多少行代码。一般来说,我们只需要关注增量代码的覆盖率,而非全量代码。增量代码就是本次迭代改动的代码,比如本次迭代改动了100行代码,我们保证单测能覆盖到这 100 行代码就行。关于单测,你应该会对下面的文章感兴趣: GoMonkey Patching in Go,通过 mock 的方式来辅助单测,能够mock一切的函数和方法,使用简单,功能强