go test单元测试技巧

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

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

起因

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


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

查看所有标签

猜你喜欢:

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

C++程序设计语言

C++程序设计语言

Bjarne Stroustrup / 裘宗燕 / 机械工业出版社 / 2010-3-1 / 99.00元

本书是在C++语言和程序设计领域具有深远影响、畅销不衰的著作,由C++语言的设计者编写,对C++语言进行了最全面、最权威的论述,覆盖标准C++以及由C++所支持的关键性编程技术和设计技术。本书英文原版一经面世,即引起业内人士的高度评价和热烈欢迎,先后被翻译成德、希、匈、西、荷、法、日、俄、中、韩等近20种语言,数以百万计的程序员从中获益,是无可取代的C++经典力作。 在本书英文原版面世10年......一起来看看 《C++程序设计语言》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具