6.3 利用Go语言接口进行Mock单元测试

Posted 孙琦Ray

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6.3 利用Go语言接口进行Mock单元测试相关的知识,希望对你有一定的参考价值。

单元测试重点是对代码逻辑进行测试,也就是证明:为什么你的代码是正确的。Mock测试是单元测试中常用的一种手段,特别是对于代码运行时对环境有严重依赖的,可以在不具备相应环境的情况下运行。例如:数据库、中间件、或者第三方接口等情况。

利用接口可以很容易的构造Mock环境,方便对代码进行单元测试。

原有实现

在这个实现中,我们定义了一个Obj的结构体,并且定义了getData方法。这里我们假定getData是从第三方服务中获取数据并进行处理。另外我们有一个showTotal的函数用于调用结构体的方法,并且显示出来,相当于后续的程序处理。

如果我们对showTotal进行单元测试的时候,我们会发现需要构建getData的依赖环境才能进行单元测试,所以此时我们可以使用interface构建一个MockObj来伪造getData返回数据,进行不同的场景测试。

package original

import "fmt"

type Obj struct 
   
    name string


// This is a real function to connec

以上是关于6.3 利用Go语言接口进行Mock单元测试的主要内容,如果未能解决你的问题,请参考以下文章

go 基于gin的单元测试

单元测试,请问我mock一个接口需要写该接口的实现类吗?

c#单元测试:使用Moq框架Mock对象

Spring学习12-Spring利用mock进行单元测试

springboot利用mock进行junit单元测试,测试controller

补习系列-springboot 单元测试之道