内容简介:周五在做首先,绝对不能做的事:我目前是在
起因
周五在做 go test
测试时,碰到个问题,我要对一个 xxx
函数写测试样例,然而它的首字母是小写的,没有导出,单元测试过不去,而这个 xxx
函数外面还有一个 YYY
函数首字母是大写的,但要经过很长的逻辑才能到 xxx
函数。这时我又要完成对 xxx
函数进行测试,又不想经过 YYY
函数走逻辑,该怎么办呢?
实现过程
首先,绝对不能做的事:
-
将
xxx
函数改为首字母大写的Xxx
函数原因:很多地方都在调这个函数,你改了这一处只满足你这次的测试,那其他基本业务流程也就崩了。
我目前是在 test
文件夹里新建了一个 xxx_test.go
测试文件,样子长这样
package test func Testxxx(t testing.T){ control.XXX() }
由于 xxx
函数是在 control
包里,因此我要在 control
包下建一个 export.go
文件
package control var XXX = xxx
然后执行 go test
命令,它会遍历 control
包下的所有文件,这时 export.go
文件 里的 var XXX = xxx
就起到了一个桥梁作用。
这时测试的时候就不需要再经过 YYY
的逻辑走到 xxx
函数里面。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 写好单元测试的10个技巧
- golang 单元测试几个小技巧
- 学习 Node.js,第 9 单元:单元测试
- Vue 应用单元测试的策略与实践 02 - 单元测试基础
- Vue 应用单元测试的策略与实践 04 - Vuex 单元测试
- Vue 应用单元测试的策略与实践 03 - Vue 组件单元测试
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。