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相关推荐

  1. 搞定Go单元测试(三)—— 断言(testify)

    在上一篇,介绍了表格驱动测试方法和gomock测试框架,大大提升了测试效率与质量.本篇将介绍在测试中引入断言(assertion),进一步提升测试效率与质量. 为什么需要断言库 我们先来看看Go标准包 ...

  2. prove, verify, bear out, demonstrate, confirm, validate, testify, certify 的区别

    1. prove prove "证明",证明(某事属实), 普通用词,泛指有充分的.可靠的事实证明某一观点或结论是正确的.可用作及物动词,后接宾语或宾语从句. Galileo pr ...

  3. Golang 定时任务 github/robfig/cron/v3 使用与源码解析

    Cron 源码阅读 robfig/cron/v3 是一个 Golang 的定时任务库,支持 cron 表达式.Cron 的源码真实教科书级别的存在(可能是我菜 -),真的把低耦合高内聚体现地淋漓尽致, ...

  4. cron表达式解析 + robfig/cron 源码剖析

    robfiig/cron 源码剖析 Cron 表达式 参考wiki https://en.wikipedia.org/wiki/Cron robfiig/cron项目信息 下载地址 https://g ...

  5. Go:测试库testify简介

    文章目录 简介 1. assert 2. mock 3. suite 示例 例子1:使用assert 例子2:使用require 小结 简介 testify可以说是最流行的(从 GitHub star ...

  6. 【GO】23.Golang 测试库 testify

    下载testify库 go get github.com/stretchr/testify 测试方法 package goconveydemoimport "errors"func ...

  7. Go 每日一库之 testify

    简介 testify可以说是最流行的(从 GitHub star 数来看)Go 语言测试库了.testify提供了很多方便的函数帮助我们做assert和错误信息输出.使用标准库testing,我们需要 ...

  8. github.com/stretchr/testify/suite

    Go 单元测试 https://blog.csdn.net/weixin_39172380/article/details/88666479?utm_medium=distribute.pc_rele ...

  9. 2、Go自动化测试入门-testify

    先获取testify包:go get GitHub.com/stretchr/testify 一个简单的示例 让我们先看看传统上如何在 Go 中编写测试.这将让我们对提高可读性的 testify 有所 ...

最新文章

  1. java培训机构如何选择适合自己的
  2. 使用C++实现的一个五子棋系统(基于Socket编程)
  3. SAP QM 检验批录入了结果以后不能再Reset检验计划了?
  4. [SCOI2008] 奖励关
  5. linux/bsd四大防火墙我们选择谁
  6. 串口发送和接受字符串,AD转换多通道读取
  7. 修改xampp中phpmyadmin用户管理
  8. MVCPager学习小记
  9. 常用的分析方法及模型
  10. 单片机制作时钟倒计时
  11. 用Python爬取东方财富网上市公司财务报表
  12. MZY项目笔记:session歧路
  13. C++之个人银行账户管理程序(二)
  14. 金蝶KIS商贸版—(业务结账)期末结账操作介绍
  15. 2019-成长的一年
  16. Shader Graph学习(一)
  17. Abaqus接触分析--SurfaceBaseContact 法向切向接触行为
  18. C语言LCD1602液晶实验报告,LCD1602液晶显示实验报告.doc
  19. JAVA jdk8安装
  20. 数据库作业3:第二章课后题(关系数据库及相关概念)

热门文章

  1. 【北京科技大学成绩单打印网址】【中科院自动化所邮箱登录网址】等
  2. 【第83期】10 款你不知道的 Linux 环境下的替代工具!
  3. 支付宝公众服务接口和微信公众平台接口的区别
  4. 线性代数笔记(4) 特征向量/值与基变换
  5. 8.22 问题 B: 海岛争霸
  6. plm显示服务器位置无效,PLM能解决的常见数据管理问题
  7. 最新老男孩Linux架构师实战课程14期视频全套1-13天
  8. 教你win10电脑声音太小怎么办
  9. CatfishCMS任意命令执行导致getshell
  10. 软件测试中测试版本的质量状况,测试结果分析和质量报告