用于 Go 的 BDD 测试框架 Ginkgo

用于 Go 的 BDD 测试框架 Ginkgo

MIT
Google Go 查看源码»
跨平台
2018-09-18
naughty

Ginkgo是一个BDD风格的Go测试框架,旨在帮助您有效地编写富有表现力的综合测试。它最好与Gomega匹配器库配对,但设计为与匹配器无关。

  • Ginkgo使用Go的测试包,可以与您现有的测试工具一起使用。它很容易引导并开始编写您的第一个测试

  • 明确地构建BDD样式测试:

    • 可嵌套的 Describe,Context 和 When 容器块

    • BeforeEach和AfterEach Block 初始化/销毁

    • It 和 Specify 断言块

    • JustBeforeEach 块 将创建与配置分开(也称为主题操作模式)。

    • BeforeSuite和AfterSuite 块用于准备和清理。

  • 一个全面的测试运行器,可以让你:

    • 将规格标记为待定 pending

    • 通过编程或命令行聚焦Focus各个规范和规范组

    • 以随机顺序random order运行测试,然后重复使用随机种子来复制相同的顺序。

    • 将测试套件分解为并行流程,以实现简单的测试并行化

  • ginkgo:一个命令行界面,带有大量方便的命令行参数,用于运行测试和生成测试文件。以下是一些选择示例:

    • ginkgo -nodes = N在N个并行进程中运行测试,并实时打印出相干输出

    • ginkgo -cover使用Go的代码覆盖工具运行您的测试

    • ginkgo convert将XUnit风格的测试包转换为Ginkgo风格的包

    • ginkgo -focus =“REGEXP”和ginkgo -skip =“REGEXP”允许您指定要通过正则表达式运行的测试子集

    • ginkgo -r运行当前目录下的所有测试套件

    • ginkgo -v在运行之前打印出每个测试的识别信息

  • ginkgo watch监视包及其对变化的依赖关系,然后重新运行测试。在您开发时立即运行测试!

  • 内置支持测试异步性

  • 内置支持对代码进行基准测试。在收集运行时以及有关代码的其他任意数字信息时,控制基准样本的数量。

  • 支持Sublime Text:只需使用Package Control安装Ginkgo Completions。

  • 支持VSCode的:只需使用VSCode的扩展安装程序即可安装vscode-ginkgo。

  • 直接支持第三方测试库,如Gomock和Testify。查看文档了解详细信息。

  • 模块化架构,让您轻松:

  • 编写自定义报表(例如,Ginkgo附带一个JUnit XML报表和一个TeamCity报表)。

  • 调整现有的匹配库(或编写自己的!)以与Ginkgo一起使用

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

Swift编写的单元测试框架--Quick

Swift编写的单元测试框架--Quick

2015/12/03 18:24
116
0
基于Kafka构建事件溯源模式的微服务

概要 本文中我们将讨论如何借助Kafka实现分布式消息管理,使用事件溯源(Event Sourcing)模式实现原子化数据处理,使用CQRS模式(Command-Query Responsibility Segregation )实现查询职责...

2018/11/14 22:28
17
0
Golang modules 初探

今天天色刚刚亮起,起床看到golang 1.11正式发版了,有着两个重要的特性:modules和WebAssembly。 本博文只要说的是modules,从Java转golang的同学肯定是对golang的包管理充满了无奈之情,我...

2018/08/26 16:05
5.7K
10
画风清奇!盘点各编程语言中有趣的开源项目!

生活不易,编程苦闷,不如“人为制造”点趣味,让日子过得更加有玩味感。 本文参考了一些项目推荐,整理了一些编程语言中个人认为比较有意思,也相对实用的开源项目,每个语言列的都不多,感...

2016/12/19 18:22
8K
21
利用Lucene实现文本自动分类

lucene是著名的开源技术,主要是作为全文检索使用。但是lucene存在很多隐藏的属性,文本分类就是其中的一种。 **先上代码** ``` //创建索引 public void createIndex() throws Exception { S...

2016/11/07 22:20
49
0
电影功夫熊猫使用的单词分析

电影功夫熊猫使用的单词分析

2015/11/15 21:44
1K
1
那些在学习iOS开发前就应该知道的事(part 2)

英文原文:Things I wish I had known before starting iOS development—Part 2 如果你还没读这篇文章的第一部分,请先读完了再来看第二部分。 那些在学习iOS开发前就应该知道的事(part 1)...

2015/06/12 10:18
121
0
如何构建高效自主的容器云交付平台?

高效自主的容器化交付平台=敏捷工程理念 x七牛云交付平台组件(云存储+大数据+容器云) 随着 DevOps 理念的普及,大部分公司已经尝试敏捷项目管理并取得一定的成果,但实际代码生产过程仍然是分...

2018/11/29 16:10
3
0
Go 语言项目

Indexes and search engines These sites provide indexes and search engines for Go packages: godoc.org gowalker gosearch Sourcegraph Contributing To edit this page you must be a c...

2014/01/03 21:49
753
0
vim 用法

在Vim中你可以把两行合并为一行 假设你要向上移动9行. 3a!<Esc>"命令 要退出Vim, 用命令"ZZ" 还可以用":e!"命令放弃所有修改并重新载入该文件的原始内容 按下CTRL-](跳转到一个标签的命令) C...

2012/03/05 19:11
1K
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部