热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

golang对私有函数进行单元测试的实例

这篇文章主要介绍了golang对私有函数进行单元测试的实例,具有很好的参考价值,希望对大家有所帮助。一

golang 对私有函数进行单元测试的实例

在待测试的私有函数所在的包内,新建一个xx_test.go文件

书写方式如下:

import (
 "github.com/stretchr/testify/assert"
 "testing"
)
var XXFunc = yourPrivateFunc
func TestXXFunc(t *testing.T) {
 ret, ... := XXFunc(...)
 assert.Equal(t, ret, ...)
}

就可以了~

补充:golang test使用(简单的单元测试)

1、测试单个文件,一定要带上被测试的原文件

go test -v  wechat_test.go wechat.go 

2、测试单个方法

go test -v wechat_test.go -test.run TestRefreshAccessToken

如果不指定文件名,会将当前目录的所有test方法进行测试

举例:

package main 
import (
 "fmt"
 "testing"
)
 
func TestFmt1(t *testing.T) {//1 方法必须传入testing.T 2 方法名必须是以Test开头,驼峰命名
 fmt.Println("test1")
}
func TestFmt2(t *testing.T) {
 fmt.Println("test2")
}

go代码保存为 t_test.go //必须以_test.go作为结束

在此代码同级目录执行 :

go test -v t_test.go -test.run TestFmt2 会调用TestFmt2

如果执行:

go test -v t_test.go -test.run TestFmt 会调用两个函数进行测试,它是正则匹配的

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程笔记。如有错误或未考虑完全的地方,望不吝赐教。


推荐阅读
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • 按照之前我对map的理解,map中的数据应该是有序二叉树的存储顺序,正常的遍历也应该是有序的遍历和输出,但实际试了一下,却发现并非如此,网上查了下,发现从Go1开始,遍历的起始节点就是随机了,当然随机 ... [详细]
  • golang 解析磁力链为 torrent 相关的信息
    其实通过http请求已经获得了种子的信息了,但是传播存储种子好像是违法的,所以就存储些描述信息吧。之前python跑的太慢了。这个go并发不知道写的有没有问题?!packag ... [详细]
  • Go冒泡排序练习
    package main要求:随机生成5个元素的数组,并使用冒泡排序对其排序  从小到大思路分析:随机数用mathrand生成为了更好 ... [详细]
  • Go 快速入门指南命令行参数
    命令行参数个数调用os包即可。获取参数个数,遍历参数packagemainimport(fmtos)funcmain(){fmt.Printf(Numberofargsi ... [详细]
  • 集成第三方库,自检测读取配置文件。文件读取,结构体定义,接口实现,错误返回,库解析,适合新同学练手。思路文件读取获取字节流文件类型分析,确定解析api集成第三方解析api管理器定义 ... [详细]
  • 小编给大家分享一下Golang端口复用测试的实现方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • Java自带的观察者模式及实现方法详解
    本文介绍了Java自带的观察者模式,包括Observer和Observable对象的定义和使用方法。通过添加观察者和设置内部标志位,当被观察者中的事件发生变化时,通知观察者对象并执行相应的操作。实现观察者模式非常简单,只需继承Observable类和实现Observer接口即可。详情请参考Java官方api文档。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • 开发笔记:冷知识:达夫设备(Duff's Device)效率真的很高吗?
    本文由编程笔记#小编为大家整理,主要介绍了冷知识:达夫设备(Duff'sDevice)效率真的很高吗?相关的知识,希望对你有一定的参考价值。ID:技术让梦想更伟大 ... [详细]
  • 看到平台银行对接方案写的demo确实还不错记个笔记互相学习学习packageapiimport(cryptotlsnetnethttpstringssynct ... [详细]
  • 目录在Go语言项目中使用Zap日志库介绍默认的GoLogger日志库实现GoLogger设置Logger使用LoggerLogger的运行GoLogger的优势和劣势优势劣势Ube ... [详细]
author-avatar
坦普拉尼洛
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有