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