在工作中,许多公司需要效率,需要自动测试。
在着陆过程中,发现单位测试和自动化测试可能基于数据,接口等。
在单个测试或自动化的过程中,由于其他服务或环境因素或阻塞测试而导致的测试失败。
这是我们必须解决的问题。我们可以使用Golang随附的模拟工具来完成它。可以在某些必要的地方执行数据堆和模拟数据。
这是官方模拟数据的框架
该官员还提供了无知工具来帮助我们生成测试代码
GitHub上的项目地址是:https://github.com/golang/mock
官员介绍了这样的戈莫克:
Gomock是GO编程语言的模仿框架。它与构建的-GO测试包完整地集成在一起,但也可以在其他环境中使用。
使用Gomock也很简单。首先
目录结构就是这样
myfunc.go
myuser.go
mock_myfunc.go
该文件不是由我们自己编写的,它是由Mockgen工具生成的。一代方法如下:
在myfunc.go目录下执行以下语句,并填写源文件和目标文件以生成新的模拟文件
我们可以查看模拟器的帮助文档以及其他参数供我们使用
通常,更多用途是
通过上述说明生成的模拟文件如下:
创建一个新的模拟实例
允许呼叫者指示预期的使用对象
模拟的基本方法,这是我们需要模拟的方法
myuser_test.go
查看上面的单个检验文件,您无法理解差异。让我们看看不使用模拟时如何编写单个测试
看到上面的句子是创建相应的对象,然后将对象作为参数传递到Getuser函数中。在正常情况下,这样做没有问题
但是,如果此时创建了MyFunc对象,则由于对外部的依赖而无法对其进行很好的编码,但不能阻止我们的单元测试
目前,顶级模拟方案尤为重要。您可以使用模拟方法。模拟myFunc对象并将返回值设置为完成,例如:
上述代码的结果如下执行:
有兴趣的朋友可以使用它,如果您使用太多,您会更熟悉
该工具需要用于发挥其价值。如果需要,可以使用它?
作者:小魔鬼男孩内兹