Ginkgo - 用于 Go 的 BDD 测试框架


MIT
跨平台
Google Go

软件简介

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一起使用