当前位置: 首页 > news >正文

Golang自带的测试库testing的使用

testing是golang自带的测试库。

testting规则:

在待测试功能所在文件的同级目录中创建一个以_test.go结尾的文件。

测试函数名必须是TestXxxx这个形式,而且Xxxx必须以大写字母开头,另外函数带有一个*testing.T类型的参数。


// 单元测试,主入口,所有testing.T会先执行TestMain方法
func TestMain(m *testing.M) {fmt.Println("do main")m.Run()
}// 单元测试
func TestAdd(t *testing.T) {result := Add(1, 2)if result != 3 {t.Errorf("Add(1, 2) = %d; want 3", result)}
}func Add(i, j int) int {return i + j
}// 单元测试
func TestCompute(t *testing.T) {type args struct {i      intj      intmethod string}tests := []struct {name stringargs argswant int}{{name: "加法",args: args{i: 1, j: 2, method: "+"},want: 3,},{name: "减法",args: args{i: 1, j: 2, method: "-"},want: -1,},{name: "乘法",args: args{i: 1, j: 2, method: "*"},want: 2,},{name: "除法",args: args{i: 1, j: 2, method: "/"},want: 1,},}for _, tt := range tests {t.Run(tt.name, func(t *testing.T) {got := Compute(tt.args.i, tt.args.j, tt.args.method)if got != tt.want {t.Errorf("Compute() got = %v, want %v", got, tt.want)}})}}func Compute(i, j int, method string) int {switch method {case "+":return i + jcase "-":return i - jcase "*":return i * jcase "/":return i / jdefault:return i + j}
}

http://www.lryc.cn/news/482760.html

相关文章:

  • 29.电影院售票系统(基于springboot和vue的Java项目)
  • 大学生就业平台微信小程序
  • Redis 缓存击穿
  • 初探鸿蒙:从概念到实践
  • PHP API的路由设计思路
  • 工程师 - 如何访问Github
  • 222. 完全二叉树的节点个数 迭代
  • 中心极限定理的三种形式
  • React Native 全栈开发实战班 - 导航栈定制
  • 扬州BGP高防服务器可以给企业带来哪些好处?
  • 题目讲解15 合并两个排序的链表
  • leetcode92:反转链表||
  • arkUI:遍历数据数组动态渲染(forEach)
  • js中import引入一个export值可以被修改。vue,react
  • PDF24:多功能 PDF 工具使用指南
  • 域名解析线路类型有哪几种
  • Spring资源加载模块,原来XML就这,活该被注解踩在脚下 手写Spring第六篇了
  • [运维][Nginx]Nginx学习(2/5)-Nginx高级
  • 【快捷入门笔记】mysql基本操作大全-SQL数据库
  • 【LeetCode】【算法】15. 三数之和
  • 传输协议设计与牧村摆动(Makimoto‘s Wave)
  • JMeter进阶篇
  • LabVIEW编程基础教学(一)--介绍
  • HVV蓝队基础
  • [运维][Nginx]Nginx学习(1/5)--Nginx基础
  • 创客节小学组C++模拟题
  • 阿里云ECS服务器使用限制及不允许做的事情
  • Linux开发讲课49--- Linux 启动过程分析
  • Java-03
  • 微积分复习笔记 Calculus Volume 1 - 5.3 The Fundamental Theorem of Calculus