Ginkgo是一个BDD风格的Go测试框架,旨在帮助您有效地编写富有表现力的综合测试。它最好与Gomega匹配器库配对,但设计为与匹配器无关。
Ginkgo使用Go的测试包,可以与您现有的测试工具一起使用。它很容易引导并开始编写您的第一个测试
明确地构建BDD样式测试:
可嵌套的Describe,Context和When容器块
BeforeEach和AfterEachBlock初始化/销毁
It和Specify断言块
JustBeforeEach块将创建与配置分开(也称为主题操作模式)。
BeforeSuite和AfterSuite块用于准备和清理。
一个全面的测试运行器,可以让你:
将规格标记为待定pending
通过编程或命令行聚焦Focus各个规范和规范组
以随机顺序randomorder运行测试,然后重复使用随机种子来复制相同的顺序。
将测试套件分解为并行流程,以实现简单的测试并行化
ginkgo:一个命令行界面,带有大量方便的命令行参数,用于运行测试和生成测试文件。以下是一些选择示例:
ginkgo-nodes=N在N个并行进程中运行测试,并实时打印出相干输出
ginkgo-cover使用Go的代码覆盖工具运行您的测试
ginkgoconvert将XUnit风格的测试包转换为Ginkgo风格的包
ginkgo-focus=“REGEXP”和ginkgo-skip=“REGEXP”允许您指定要通过正则表达式运行的测试子集
ginkgo-r运行当前目录下的所有测试套件
ginkgo-v在运行之前打印出每个测试的识别信息
ginkgowatch监视包及其对变化的依赖关系,然后重新运行测试。在您开发时立即运行测试!
内置支持测试异步性
内置支持对代码进行基准测试。在收集运行时以及有关代码的其他任意数字信息时,控制基准样本的数量。
支持SublimeText:只需使用PackageControl安装GinkgoCompletions。
支持VSCode的:只需使用VSCode的扩展安装程序即可安装vscode-ginkgo。
直接支持第三方测试库,如Gomock和Testify。查看文档了解详细信息。
模块化架构,让您轻松:
编写自定义报表(例如,Ginkgo附带一个JUnitXML报表和一个TeamCity报表)。
调整现有的匹配库(或编写自己的!)以与Ginkgo一起使用
评论