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

这篇具有很好参考价值的文章主要介绍了【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.1

 xxx@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

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

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 version
 Ginkgo 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   ginkgo
  Failed 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]
FAIL


Ginkgo ran 1 suite in 477.31418ms

Test 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: 1705981574

Will run 0 of 0 specs

Ran 0 of 0 Specs in 0.000 seconds
SUCCESS! -- 0 Passed | 0 Failed | 0 Pending | 0 Skipped
PASS

Ginkgo ran 1 suite in 10.747687301s
Test Suite Passed

未完待续。。。文章来源地址https://www.toymoban.com/news/detail-820827.html

到了这里,关于【Go学习】Ginkgo测试框架学习实践 + 问题记录 + 怎么解决(0)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go开源世界主流成熟ORM框架gorm实践分享

    @ 目录 概述 定义 核心功能 声明模型与约定 gorm.Model 字段级权限 时间惯例 嵌入结构 字段标签 使用 安装 数据库链接 连接池 CRUD 接口 创建 查询 高级查询 修改 删除 原始SQL 事务 转换 分片 序列化 GORM 官网地址 https://gorm.io/ 最新版本v1.25.1 GORM 官网文档地址 https://gorm.io/docs/ G

    2024年02月05日
    浏览(44)
  • Go语言工程实践之测试与Gin项目实践

    回归 测试 一般是QA(质量保证)同学 手动通过终端回归一些固定的主流程 场景 集成 测试 是对 系统功能维度做测试验证 ,通过服务暴露的某个接口,进行自动化测试 而 单元 测试 开发阶段,开发者 对单独的函数、模块做功能验证 层级从上至下, 测试成本逐渐减低 ,而测试 覆

    2024年02月13日
    浏览(48)
  • Go单元测试及框架使用

    建议Go 语言推荐测试文件和源代码文件放在一块,测试文件以 _test.go 结尾。 函数名必须以 Test 开头,后面一般跟待测试的函数名 参数为 t *testing.T 简单测试用例定义如下: 在goland中,编写好方法后,右键Generate-Test for funtion, 可自动生成单元测试代码 生成的代码如下: 需要

    2024年02月09日
    浏览(47)
  • Android下单元测试实践——测试框架简介

    测试代码的写法可以归纳为三部分 第一部分: 准备测试数据和定义mock行为 第二部分: 调用真实的函数 第三部分: 调用验证函数进行结果的验证 在模块的test路径下编写测试案例。在类中使用@Test注解,就可以告诉Junit这个方法是测试方式。同时使用assert*方法,可以调用J

    2024年02月04日
    浏览(37)
  • 吃透单元测试:Spock单元测试框架的应用与实践

    一,单元测试 单元测试是对软件基本组成单元进行的测试,如函数或一个类的方法。程序是由函数组成的,每个函数都要健壮,这样才能保证程序的整体质量。单元测试是对软件未来的一项必不可少的投资。”具体来说,单元测试有哪些收益呢? 它是最容易保证代码覆盖率

    2024年02月09日
    浏览(46)
  • 【字节跳动青训营】后端笔记整理-3 | Go语言工程实践之测试

    **本人是第六届字节跳动青训营(后端组)的成员。本文由博主本人整理自该营的日常学习实践,首发于稀土掘金:🔗Go语言工程实践之测试 | 青训营 目录 一、概述 1、回归测试 2、集成测试 3、单元测试 二、单元测试 1、流程 2、规则 3、单元测试的例子 4、assert 5、覆盖率

    2024年02月15日
    浏览(40)
  • 【字节跳动青训营】后端笔记整理-2 | Go实践记录:猜谜游戏,在线词典,Socks5代理服务器

    **本人是第六届字节跳动青训营(后端组)的成员。本文由博主本人整理自该营的日常学习实践,首发于稀土掘金:🔗Go实践记录:猜谜游戏,在线词典,Socks5代理服务器 | 青训营 我的go开发环境: *本地IDE:GoLand 2023.1.2 *go:1.20.6 猜数字游戏也算是入门一门编程语言必写的程

    2024年02月13日
    浏览(46)
  • 高效自动化测试框架-优秀实践02-接口

    编写接口的操作的时候只需要编写接口的url,请求方法,请求体的样例 其他的将接口封装成服务或者的操作,全部使用装饰器来封装,能做到高效的解耦 在表示层编写业务测试用例的时候,可以使用函数式的编程方式,非常易读,还非常易于copy,提升编写效率 业务测试用例编写

    2023年04月08日
    浏览(60)
  • Selenium Web自动化测试框架实践

    目录        前言: 项目背景 功能实现 项目架构 浏览器driver定义 用例运行前后的环境准备工作 工具方法模块 Pageobject页面对象封装 执行测试用例        前言:          Selenium是一个基于Web的自动化测试框架,可以通过模拟用户在浏览器上的操作,来自动化地测试Web应

    2024年02月10日
    浏览(60)
  • Go + FFmpeg交互丨学习记录

    注:本文未完待续 主要思路: 使用 Golang 和 FFmpeg 交互可以分为以下几个步骤: 安装 FFmpeg: 首先需要安装 FFmpeg,可以在终端中输入命令来安装。 创建一个Golang项目,并在其中创建一个接收上传视频文件的接口。 在接口中接收上传的文件,并使用Golang中的 exec 包来执行 FFmp

    2024年02月06日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包