Go-单元测试

单元测试

  • 测试用例的命名必须 是以xxx_test.go的格式

  • 测试用例函数必须TestXxx开头,一般来说是Test+被测试函数名,且必须为大驼峰命名

  • TestAdd(t *tesing.T)的形参类型必须是*tesing.T

  • 运行测试用例指令

    • cmd>go test 运行正确,无日志;错误时,会输出日志
    • cmd>go test -v 运行不管正确还是错误,都输出日志
  • 出现错误时,使用t.Fatalf来格式化输出错误信息 ,并退出程序;t.Logf方法可以输出响应日志

代码示例

  • cal.go
go 复制代码
package uintTest

import "time"

func Add(a, b int) int {
	time.Sleep(time.Second * 1)
	return a + b
}
  • cal_test.go
go 复制代码
package uintTest

import "testing"

func TestAdd(t *testing.T) {
	res := Add(1, 2)
	if res != 3 {
		t.Fatalf("Add() 执行错误")
	}
	t.Logf("Add() 执行正确...")
}

运行过程

程序在执行main函数前,先检测是否存在xxx_test.go文件的存在,若有则加载testing框架,然后执行以TestXxx命名的测试函数。

相关推荐
无奈笑天下7 小时前
银河麒麟高级服务器操作系统【双网卡绑定之bond0】操作方法
linux·运维·服务器·网络·经验分享
盛世宏博智慧档案8 小时前
数据追溯 + 异常预警:机柜温湿度以太网变送器应用实践方案
linux·服务器·网络
leandzgc8 小时前
Linux动态存储管理的逻辑卷使用示例
linux·运维·服务器·逻辑卷·linux动态存储管理
深耕AI10 小时前
【wordpress系列教程】02 Blocksy主题
运维·服务器·前端
gaize121311 小时前
服务器异常如何解决
运维·服务器
编程饭碗11 小时前
【Java循环】
java·服务器·算法
dragoooon3412 小时前
仿muduo库实现高并发服务器-面试常见问题
运维·服务器·面试
北京盛世宏博13 小时前
边缘计算赋能!机房机柜微环境温湿度快速响应控制方案
运维·服务器·网络
油丶酸萝卜别吃14 小时前
堡垒机的集中管控具体体现在哪些方面?
服务器
真正的醒悟14 小时前
图解网络22
服务器·网络·php