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 函数里面。


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

查看所有标签

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

Java并发编程实战

Java并发编程实战

Brian Goetz、Tim Peierls、Joshua Bloch、Joseph Bowbeer、David Holmes、Doug Lea / 童云兰 / 机械工业出版社华章公司 / 2012-2 / 69.00元

本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性......一起来看看 《Java并发编程实战》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

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

在线XML、JSON转换工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具