【Go学习】Ginkgo测试框架学习实践 + 问题记录 + 怎么解决(0)

1、ginkgo测试框架介绍:https://onsi.github.io/ginkgo/
2、重点是学习实践 + 问题记录 + 怎么解决
3、送福利:国内好用的ChatGpt有很多,比如:天工、文心一言、讯飞星火、通义万相等

1. 安装

 xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  go get github.com/onsi/ginkgo/v2/ginkgo
### 输出 ###
go: downloading github.com/onsi/ginkgo v1.16.5
go: downloading github.com/onsi/ginkgo/v2 v2.15.0
go: downloading golang.org/x/tools v0.16.1
go: downloading github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
go: downloading github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38
go: added github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
go: added github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38
go: added github.com/onsi/ginkgo/v2 v2.15.0
go: added golang.org/x/tools v0.16.1xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  go install github.com/onsi/ginkgo/v2/ginkgo
### 没有任何输出就是ok的 ###xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  go get github.com/onsi/gomega/...
### 输出 ###
go: downloading github.com/onsi/gomega v1.31.1
go: downloading github.com/google/go-cmp v0.6.0
go: downloading github.com/golang/protobuf v1.5.3
go: downloading golang.org/x/net v0.19.0
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading google.golang.org/protobuf v1.28.0
go: downloading golang.org/x/text v0.14.0
go: upgraded github.com/onsi/gomega v1.30.0 => v1.31.1

在这里插入图片描述

2. 使用

(1)安装正确的话,在当前目录的平行目录下应该会有一个新增的bin目录,目录下有个可执行文件
ginkgo

 xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  ../bin/ginkgo version
Ginkgo Version 2.15.0

(2)需要配置一下环境变量,不然只能在这个目录下才能执行

 xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  vim ~/.bash_profile
# ...
export GINKGOPATH=/Volumes/mac/study/goRoot/LeetCodeGoLangWJ/LearnGoWithTests #Ginkgo测试框架学习
export PATH=$GOPATH/bin:$GOROOT/bin:$GINKGOPATH/bin:$PATH
# ...xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  . ~/.bash_profile 

(3)之后就可以愉快的玩耍了

 xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  ginkgo versionGinkgo Version 2.15.0

(4)按上面的官方介绍文档,通过命令生成一个最简单的ginkgo测试代码并执行测试

# 通过 ginkgo bootstrap 命令生成一个最简单的ginkgo测试代码xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo   ginkgo bootstrap
Generating ginkgo test suite bootstrap for ginkgo in:ginkgo_suite_test.go
# 执行很简单:直接在当前目录下,执行ginkgo即可xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo   ginkgoFailed to compile ginkgo:# ginkgo
../../../pkg/mod/github.com/onsi/ginkgo/v2@v2.15.0/core_dsl.go:25:2: missing go.sum entry for module providing package github.com/go-logr/logr (imported by github.com/onsi/ginkgo/v2); to add:go get github.com/onsi/ginkgo/v2@v2.15.0
FAIL    ginkgo [setup failed]
FAILGinkgo ran 1 suite in 477.31418msTest Suite Failed

可以看到,直接报错了,原因比较简单,就是当前目录下的go.sum文件中的很多包其实没有下载下来,执行命令再次下载即可(如果有没下载成功的,重复操作,直到全部成功)

ChatGpt给的标准解决方案:(国内好用的ChatGpt有很多,比如:天工、文心一言、讯飞星火、通义万相等)

  • 这个错误通常意味着你在你的Go项目中引入了一个新的依赖,但是Go无法找到该依赖的go.sum条目。go.sum文件是Go用来跟踪依赖项的文件,它记录了每个依赖项的版本和哈希值。
  • 要解决这个问题,你可以尝试运行go mod tidy,它会尝试自动下载缺少的依赖项并更新你的go.sum文件。如果这个命令无法解决问题,你可能需要手动检查并更新你的依赖项。
  • 如果你使用的是GitHub上的依赖,你也可以尝试查看该依赖的GitHub仓库,看看是否有go.sum文件,如果没有,你可能需要联系依赖的维护者来获取它。
 xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  go mod tidy
go: downloading github.com/go-logr/logr v1.3.0
go: downloading golang.org/x/sys v0.15.0
go: downloading github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572
go: downloading golang.org/x/tools v0.16.1
go: downloading github.com/golang/protobuf v1.5.3
go: downloading gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405
go: downloading github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38
go: downloading github.com/stretchr/testify v1.6.1
go: downloading google.golang.org/protobuf v1.28.0
go: downloading github.com/pmezard/go-difflib v1.0.0
go: downloading github.com/davecgh/go-spew v1.1.1

然后再次执行测试,可以看到成功了

 xxx@macdeMacBook-Pro-3  /Volumes/mac/study/.../ginkgo  ginkgo     
Running Suite: Ginkgo Suite - /Volumes/mac/study/goRoot/LeetCodeGoLangWJ/LearnGoWithTests/ginkgo
================================================================================================
Random Seed: 1705981574Will run 0 of 0 specsRan 0 of 0 Specs in 0.000 seconds
SUCCESS! -- 0 Passed | 0 Failed | 0 Pending | 0 Skipped
PASSGinkgo ran 1 suite in 10.747687301s
Test Suite Passed

未完待续。。。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/649337.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JS基础】定时器的使用、事件监听

文章目录 前言一、定时器1.1定时器是什么1.2 setInterval函数1.3 关闭定时器clearInterval 二、事件监听2.1 事件监听是什么2.2 事件监听的使用基本语法点击事件鼠标事件焦点事件键盘事件 2.3 事件对象event 总结 前言 JavaScript 中的定时器和事件监听是 Web 开发中至关重要的…

leetcode hot100组合

在本题中,是要求返回[1,n]这个数组的长度为k的组合。涉及到排列、组合、棋盘、分割等问题的时候,要考虑利用回溯来进行解决。 回溯和递归类似,也分为三步进行分析 确定递归函数的返回值和参数:一般来说返回值都是void&#xff0c…

黑豹程序员-vue实现两级联动下拉列表

需求 在开发中这类需求很多,前后两个下拉框有紧密关系,第一个下拉框相当于一个分类,选中第一个下拉框中的某个分类后,第二个下拉框的内容随之改变,列出其分类下的选项。 图例 选中某个一级风险领域后,二级…

时间数据前端显示格式化

背景 在实际我们通常需要在前端显示对数据操作的时间或者最近的更新时间,如果我们只是简单的使用 LocalDateTime.now()来传入数据不进行任何处理那么我们就会得到非常难看的数据 解决方式: 1). 方式一 在属性上加上注解,对日期进行格式…

【Linux】Linux进度条小程序(包含色块实现)

我们再将Linux常用工具与命令都学会了之后, 设计进度条这个小程序可以比较好的帮助我们进行一定程度练习与巩固 目录 预备知识:回车换行:缓冲区: 进度条:准备工作:主题思路:代码实现&#xff1a…

图片保存后多了个水印?教你如何用华为手机保存无水印图片

对于各类生活App的深度用户来说,有时候碰到实用的生活技巧、攻略,甚至是一张好看的风景照,都会第一时间想要长按把图片保存到手机相册,有时候还会分享给朋友、朋友圈。 但是有些图片在App上显示的时候是干净的,保存下…

基于SQL注入漏洞的总结与归纳(个人学习 整理归纳复习

第一节 我们首先要知道什么是SQL注入漏洞 SQL注入常见的web漏洞,形成的主要原因是web应用程序在接收相关数据参数时未做好过滤,将其直接带入到数据库中查询,导致攻击者可以拼接执行构造的SQL语句。 像这样我们输入?id1 我们可以获得id1的信…

【QT+QGIS跨平台编译】之九:【LZ4+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、LZ4介绍二、文件下载三、文件分析四、pro文件五、编译实践一、LZ4介绍 LZ4是一种无损压缩算法,压缩速度为每核心400MB/s。 LZ4是目前效率最高的压缩算法,更加侧重于压缩/解压缩速度,压缩比并不突出,本质上就是时间换空间。 LZ4库是使用BSD许可证作为开放源码…

基于LLaMA-Factory的微调记录

文章目录 数据模型准备基于网页的简单微调基于网页的简单评测基于网页的简单聊天 LLaMA-Factory是一个非常好用的无代码微调框架,不管是在模型、微调方式还是参数设置上都提供了非常完备的支持,下面是对微调全过程的一个记录。 数据模型准备 微调时一般…

奔图P1家用激光打印机测评:小巧精致,高效便捷,开启打印新革命

在当今数字化时代,办公方式越来越灵活,日常学习也有很多作业、习题需要打印,无论是为了满足日常的学习、工作需求,还是为了追求个人兴趣、丰富业余生活,我们都离不开打印机的身影。打印机这个曾经被视为专业领域的设备…

每日一题——LeetCode2859.计算K置位下标对应元素的和

方法一 枚举法: 通过不断地将目标数值与 1 进行按位与操作,并根据结果判断最低位是否为 1,从而统计其中包含的 1 的个数。 如果1的个数等于K就加上该值。 var sumIndicesWithKSetBits function(nums, k) {function countOnes(num) {let cou…

mysql8版本批量造4000个数据SQL

需求: 测试工作中修改单需要构造单元下4000个组合的数据,写个博客来记录,其他类似的可以举一反三。 具体sql: 实现1个产品1个单元下插入4000个组合数据 思路: 在MySQL 8中实现循环插入4000条具有不同主键的记录&a…

老旧小区火灾频发,LoRa无线系统筑牢安全防线

近日,全国各地多个老旧小区火灾事故频发,从安微合肥南二环一老旧小区居民楼起火、上海金山区一小区居民楼火灾,到1月24日江西新余市特大火灾......都造成了不同程度的人员伤亡和财产损失,令人扼腕痛惜,教训十分深刻。 …

蓝牙----蓝牙协议栈Host层

蓝牙协议栈----Host层 蓝牙物理层基本信息链路层的状态机进入连接态的步骤主动扫描与被动扫描链路层通信模式 蓝牙地址蓝牙设备地址蓝牙标识地址蓝牙接入地址 蓝牙广播信道管理蓝牙数据信道跳频 蓝牙协议栈Host层包括PHY、LL、HCL层,注重关注PHY物理层和LL链路层。 …

电脑监控系统:企业网络安全解决方案

在当今数字化的世界里,企业的网络安全已经成为一项至关重要的任务。电脑监控系统作为一种有效的解决方案,正在被越来越多的企业所采用。 电脑监控系统是一种集成了多种安全功能的综合性解决方案,旨在为企业提供全面的网络安全防护。该系统能够…

JavaWeb01--Tomcat

1、JavaWeb概述 Web开发是基于请求和响应的: 请求:浏览器(客户端)向服务器发送信息 响应:服务器向浏览器回送信息 请求和响应是成对出现的。 Web资源分类 所谓Web资源即放在Internet网上供外界访问的文件或程序&#x…

31、WEB攻防——通用漏洞文件上传JS验证mimeuser.ini语言特性

文章目录 文件上传一、前端验证二、.user.ini 文件上传 检测层面:前端、后端等检测内容:文件头、完整性、二次渲染等检测后缀:黑名单、白名单、MIME检测等绕过技巧:多后缀解析(php5、php7)、截断、中间件特…

代码随想录算法训练营第十四天|二叉树基础-二叉树迭代-二叉树

文章目录 二叉树基础二叉树种类满二叉树完全二叉树二叉搜索树平衡二叉搜索树 二叉树的存储方式链式存储顺序存储 二叉树的遍历方式二叉树的定义 二叉树的递归遍历144.二叉树的前序遍历代码: 145.二叉树的后序遍历代码: 94. 二叉树的中序遍历代码 二叉树的…

「阿里云」幻兽帕鲁个人服务器已上线,3分钟快速搭建

基于阿里云搭建幻兽帕鲁服务器方法,1到2分钟部署完成,稳定运行无卡顿,阿里云服务器网aliyunfuwuqi.com分享保姆级手把手教程,基于阿里云计算巢、云服务器或无影云桌面都可以: 基于阿里云幻兽帕鲁服务器创建教程 基于…

EasyExcel实现导出图片到excel

pom依赖&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.0</version> </dependency> 实体类&#xff1a; package com.aicut.monitor.vo;import com.aicut.monit…