go-testify和robfig
testify
安装testify
在项目目录下执行
go get github.com/stretchr/testify
go标准测试和testify的区别
无论标准测试还是testify测试:
go测试文件命名需要是"*_test.go"格式
go测试方法命名需要是"Test*(t *testing.T)"格式
go标准测试
main_test.go
package mainimport ("testing"
)// 测试用例
func TestCase(t *testing.T) {var x, y int = 0, 1if x < y {t.Fatalf("x不能小于y")}if y == 1 {t.Fatalf("y不能大于0")}
}
运行
结果
可以看到充斥了大量判断,以及错误信息的组装
testify
package mainimport ("github.com/stretchr/testify/assert""testing"
)// 测试用例
func TestCase(t *testing.T) {var x, y int = 0, 1assert.Greater(t, x, y, "x不能小于y")assert.NotEqual(t, y, 1, "y不能大于0")
}
在文件目录下执行:go test
testify更加直观、优雅高效,这很酷。
这里用到的是testify的断言assert。
断言assert
assert包用于断言,它会根据输入条件判断,给出错误,
断言中还包含有很多其它方法,例如Nil、Empty、Contains、IsType等。
requeire
require包方法与assert一样,
区别在于assert遇到错误时会继续向下执行,
而require会停止当前的单元测试
robfig
robfig是一个定时执行注册任务的package
安装
在项目目录下执行
go get github.com/robfig/cron
实例
package mainimport ("fmt""github.com/robfig/cron""time"
)func printJob() {fmt.Println(time.Now())
}func main() {// 创建一个基于本地时间的定时任务调度器c := cron.New()// 注册任务,按照给定的cron表达式执行c.AddFunc("@every 3s", printJob) // 3秒执行一次// 启动定时任务调度器c.Start()select {} // 这里select的作用是阻塞主协程不退出,用"for {}"也可以
}
go-testify和robfig相关推荐
- 搞定Go单元测试(三)—— 断言(testify)
在上一篇,介绍了表格驱动测试方法和gomock测试框架,大大提升了测试效率与质量.本篇将介绍在测试中引入断言(assertion),进一步提升测试效率与质量. 为什么需要断言库 我们先来看看Go标准包 ...
- prove, verify, bear out, demonstrate, confirm, validate, testify, certify 的区别
1. prove prove "证明",证明(某事属实), 普通用词,泛指有充分的.可靠的事实证明某一观点或结论是正确的.可用作及物动词,后接宾语或宾语从句. Galileo pr ...
- Golang 定时任务 github/robfig/cron/v3 使用与源码解析
Cron 源码阅读 robfig/cron/v3 是一个 Golang 的定时任务库,支持 cron 表达式.Cron 的源码真实教科书级别的存在(可能是我菜 -),真的把低耦合高内聚体现地淋漓尽致, ...
- cron表达式解析 + robfig/cron 源码剖析
robfiig/cron 源码剖析 Cron 表达式 参考wiki https://en.wikipedia.org/wiki/Cron robfiig/cron项目信息 下载地址 https://g ...
- Go:测试库testify简介
文章目录 简介 1. assert 2. mock 3. suite 示例 例子1:使用assert 例子2:使用require 小结 简介 testify可以说是最流行的(从 GitHub star ...
- 【GO】23.Golang 测试库 testify
下载testify库 go get github.com/stretchr/testify 测试方法 package goconveydemoimport "errors"func ...
- Go 每日一库之 testify
简介 testify可以说是最流行的(从 GitHub star 数来看)Go 语言测试库了.testify提供了很多方便的函数帮助我们做assert和错误信息输出.使用标准库testing,我们需要 ...
- github.com/stretchr/testify/suite
Go 单元测试 https://blog.csdn.net/weixin_39172380/article/details/88666479?utm_medium=distribute.pc_rele ...
- 2、Go自动化测试入门-testify
先获取testify包:go get GitHub.com/stretchr/testify 一个简单的示例 让我们先看看传统上如何在 Go 中编写测试.这将让我们对提高可读性的 testify 有所 ...
最新文章
- java培训机构如何选择适合自己的
- 使用C++实现的一个五子棋系统(基于Socket编程)
- SAP QM 检验批录入了结果以后不能再Reset检验计划了?
- [SCOI2008] 奖励关
- linux/bsd四大防火墙我们选择谁
- 串口发送和接受字符串,AD转换多通道读取
- 修改xampp中phpmyadmin用户管理
- MVCPager学习小记
- 常用的分析方法及模型
- 单片机制作时钟倒计时
- 用Python爬取东方财富网上市公司财务报表
- MZY项目笔记:session歧路
- C++之个人银行账户管理程序(二)
- 金蝶KIS商贸版—(业务结账)期末结账操作介绍
- 2019-成长的一年
- Shader Graph学习(一)
- Abaqus接触分析--SurfaceBaseContact 法向切向接触行为
- C语言LCD1602液晶实验报告,LCD1602液晶显示实验报告.doc
- JAVA jdk8安装
- 数据库作业3:第二章课后题(关系数据库及相关概念)