首页 > 其他分享 >Golang之Ginkgo、Gomega测试框架

Golang之Ginkgo、Gomega测试框架

时间:2023-03-20 10:07:13浏览次数:44  
标签:函数 ginkgo Gomega Golang Ginkgo 执行 Specs


命令:
Bootstrapping a Suite(cd path/to/books   ginkgo bootstrap)
Adding Specs to a Suite(ginkgo generate book)

Execute Test(go test或ginkgo)

介绍:
导入Ginkgo和Gomega包时在包名前加一个[.],这样可以直接使用包中的方法函数,不用再【包名.函数名】
执行文件的时候,可以用go test方法也可以用ginkgo
RegisterFailHandler(Fail): ginkgo通过调用Fail(description string)函数来发出fail信号,然后用RegisterFailHandler() 将Fail函数传递给Gomega,RegisterFailHandler()是连接ginkgo和gomega的唯一途径。
RunSpecs(t *testing.T, suiteDescription string):用于启动测试套件,如果任何一个specs失败,该套件则自动返回失败。

基础知识:
1、Ginkgo使用Describe()来描述这段代码的行为,使用Context()来描述表达该行为在不同的环境下执行(Context没有分割测试用例的能力),一个it就是一个spec即一个测试用例;
2、Ginkgo中使用BeforceEach()来为specs设置状态,并使用It()来指定单个spec,也是一个测试用例,且执行每一个It模块前都会执行一次Describe的BeforeEach和AfterEach,以确保每个Specs都处于原始状态。
3、JustBeforeEach() 模块在所有BeforeEach模块执行之后,It模块执行之前运行,BeforeSuite函数在所有Specs运行前执行, AfterSuite函数在所有Specs运行后执行,不论测试是否失败。
4、使用Gomega中的【Expect()】函数来设置期望


标签:函数,ginkgo,Gomega,Golang,Ginkgo,执行,Specs
From: https://blog.51cto.com/u_12856592/6131795

相关文章

  • Golang 整洁架构实践
    了解过Hex六边形架构、Onion洋葱架构、Clean整洁架构的同学可以将本篇文章介绍的实践方法与自身项目代码架构对比并互通有无,共同改进。没了解过上述架构的同学可以学......
  • golang gin框架
    gin:一个快速的httpwebframework,基于httprouter封装的,包含了日志处理、错误返回、验证处理、数据格式返回、文件上传、websocket支持、clientip支持、cookie支持。服务入口......
  • golang  实现 sync.WaitGroup wait() 方法 超时 自动释放
    思路是把wg.wait()放到一个协程里,通过chan向外发送完成信号。外层通过一个select超时结构来控制最大超时时间。funcwaitTimeout(wg*sync.WaitGroup,timeouttime.Du......
  • golang常用库包:缓存redis操作库go-redis使用(03)-高级数据结构和其它特性
    Redis高级数据结构操作和其它特性第一篇:go-redis使用,介绍Redis基本数据结构和其他特性,以及go-redis连接到Redishttps://www.cnblogs.com/jiujuan/p/17207166.html第......
  • golang中关于死锁的思考与学习
    1、Golang中死锁的触发条件1.1书上关于死锁的四个必要条件的讲解发生死锁时,线程永远不能完成,系统资源被阻碍使用,以致于阻止了其他作业开始执行。在讨论处理死锁问题的各......
  • golang使用缓存库go-cache的测试用例-短期内存缓存数据类似memcache/redis-【唯一客服
    golang中使用go-cache是非常普遍的,比如,我在对接微信客服接口的时候,获取access_token,默认获取一次有两个小时的有效期这个时候,我就可以使用go-cache来缓存access_token了......
  • golang介绍和环境搭建
    一、Goland语言介绍Go和C语言、C++、Python、Java等一样都是编程语言。学习任何一门编程语言本质上都分3步走:第一步:安装解释器或编译器。第二步:学相关编程语言语......
  • golang开发之旅
    一、golang基础golang介绍和环境搭建二、Docker相关......
  • golang代码覆盖率测试
    1.概述测试是开发过程的重要部分,也是软件开发生命周期的关键部分。它可以确保应用程序正常运行和满足客户需求。本文将涵盖关于Go测试的所有须知事项。我们将从一个......
  • 带参数的微信小程序码服务端(golang)生成
    官方接口微信小程序码共有3个接口可以生成:获取小程序码POSThttps://api.weixin.qq.com/wxa/getwxacode?access_token=ACCESS_TOKEN该接口用于获取小程序码,适用于需要......