单元测试细节说明 | 学习笔记

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习单元测试细节说明

开发者学堂课程【Go 语言核心编程 - 面向对象、文件、单元测试、反射、TCP 编程:单元测试细节说明】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/626/detail/9743


单元测试细节说明


内容介绍

一,测试用例文件名必须以 test.go 结尾

二,测试用例函数必须以 Test 开头

三,TestAddUpper(t *tesing.T) 的形参类型必须是 *testing.T

四,一个测试用例文件中,可以有多个测试用例函数

五,运行测试用例指令

六,测试单个方法

 

一,测试用例文件名必须以 test.go 结尾

比如 cal test.go,cal 不是固定的。

testing提供对 Go 包的自动化测试的支持。通过'go test命令,能够自动执行如下形式的任何函数:func TestXxx(*testing.T)
其中Xxx可以是任何字母数字字符串(但第一一个字母不能是[a-z]) ,用于识别测试例程。
在这些函数中,使用 Error, Fai l或相关方法来发出失败信号。
要编写一个新的测试套件,需要创建-一个名称以_ test.go 结尾的文件,该文件包含'TestXxx函数,如上所述。将该文件放在与被测试的包相同的包中。该文件将被排除在正常的程序包之外,但在运行“go test"命令时将被包含有关详细信息,请运行"go help test"和"go help testtlag"了解。
如果有需要,可以调用*T和*B的 Skip方法,跳过该测试或基准测试

 

二,测试用例函数必须以Test开头

一般来说就是 Test+被测试的函数名,比如testddpperor

说明:必须不能用小写。
func TestGetsub(t *testing.T) {
     

三,TestAddUpper(t *tesing.T)的形参类型必须是*testing.T

说明:要会用这些T,点进去就会有说明。
func (c "T) Error(args .terfactet)
func(c "T) rrorf(omat string, args ..rceo func (c "T) Fail()
func(c "T) FailNow()
func (c *T) Failed() bool
func(c "T) Fatal(args .terftceo)
func (c "T) Fatalf(format string, args inertace)o func (c *T) Log(args .interface)
func (c *"T) Logf(format string, args .intertce)o func (c *T) Name() string
func (t *T) Parallel()
func (t *T) Run(name string, f func(t *T) boolo func (c "T) Skip(args .iterface()
func (c *T) SkipNow()
func (c *T) Skipf(format string, args ..interface0)o func (c *T) Skipped() bool

 

四,一个测试用例文件中,可以有多个测试用例函数

比如 TestAddUpper、 TestSub

 

五,运行测试用例指令

cmd>go test [如果运行正确,无日志,错误时,会输出日志]
cmd>go test -V [运 行正确或是错误,都输出日志]

当出现错误时,可以使用 t.Fatalf  来格式化输出错误信息,并退出程序
t.Logf  方法可以输出相应的日志
测试用例函数,并没有放在 main 函数中,也执行了,这就是测试用例的方便之处.
PASS 表示测试用 例运行成功,FAIL  表示测试用例运行失败

 

六,测试单个方法

测试单个文件,-定要带上被测试的原文件

go test-V cal test.go cal.go
测试单个方法
go test -V -test.run TestAddUpper

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
Web App开发 JavaScript 前端开发
NB-loT 之通过 Iwm2m 服务器测试 Coap 协议报文 | 学习笔记
快速学习 NB-loT 之通过 Iwm2m 服务器测试 Coap 协议报文
NB-loT 之通过 Iwm2m 服务器测试 Coap 协议报文 | 学习笔记
|
2月前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
255 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
47 2
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
76 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
7月前
|
Java 测试技术 编译器
JMM测试利器-JCStress学习笔记
JMM测试利器-JCStress学习笔记
java202303java学习笔记第四十六天-请求-postman接口测试
java202303java学习笔记第四十六天-请求-postman接口测试
80 0
|
测试技术
java202304java学习笔记第六十天-ssm-spring配置文件-完善测试环境
java202304java学习笔记第六十天-ssm-spring配置文件-完善测试环境
80 0
|
存储 Kubernetes 监控
PolarDB-X 混沌测试系统搭建赛题解析 | 学习笔记
快速学习 PolarDB-X 混沌测试系统搭建赛题解析
PolarDB-X 混沌测试系统搭建赛题解析 | 学习笔记
|
关系型数据库 OLAP API
测试 API|学习笔记
快速学习测试 API
140 0
测试 API|学习笔记
|
存储 SQL 监控
PolarDB-X 进行 TP 负载测试(三)| 学习笔记
快速学习 PolarDB-X 进行 TP 负载测试。
PolarDB-X 进行 TP 负载测试(三)| 学习笔记