go test单元测试技巧

栏目: 编程工具 · 发布时间: 6年前

内容简介:周五在做首先,绝对不能做的事:我目前是在

起因

周五在做 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 函数里面。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

从入门到精通:Prezi完全解读

从入门到精通:Prezi完全解读

计育韬、朱睿楷、谢礼浩 / 电子工业出版社 / 2015-9 / 79.00元

Prezi是一款非线性逻辑演示软件,它区别于PowerPoint的线性思维逻辑;而是将整个演示内容铺呈于一张画布上,然后通过视角的转换定位到需要演示的位置,并且它的画布可以随时zoom in和zoom out,给演示者提供了一个更好的展示空间。 Prezi对于职场人士和在校学生是一个很好的发挥创意的工具,因为它的演示逻辑是非线性的,所以用它做出来的演示文稿可以如思维导图一样具有发散性,也可以......一起来看看 《从入门到精通:Prezi完全解读》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具