go test单元测试技巧

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

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

起因

周五在做 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语言

[美]David Griffiths、[美]Dawn Griffiths / 程亦超 / 人民邮电出版社 / 2013-9 / 99.00

你能从这本书中学到什么? 你有没有想过可以轻松学习C语言?《嗨翻C语言》将会带给你一次这样的全新学习 体验。本书贯以有趣的故事情节、生动形象的图片,以及不拘一格、丰富多样的练 习和测试,时刻激励、吸引、启发你在解决问题的同时获取新的知识。你将在快乐 的气氛中学习语言基础、指针和指针运算、动态存储器管理等核心主题,以及多线 程和网络编程这些高级主题。在掌握语言的基本知识......一起来看看 《嗨翻C语言》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

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

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具