英文原文地址: 点击这里
翻译:amoschen
时间:2017/08/28
翻译基于原文 0.9.1 版本,有任何异议以及错误请指正。
Gauge 是用于编写和运行验收测试的免费开源框架。 Gauge 使其独特的一些关键功能包括:
- 基于 Markdown 的简单,灵活和丰富的语法
- 为编写测试代码提供一致的跨平台/语言支持
- 带有插件支持的模块化架构
- 可通过插件扩展和破解
- 支持数据驱动的执行和外部数据源
- 帮助您创建可维护的测试套件
- 对 VS Code 的集成支持
Specification
译者注:Specification
如果实在要翻译这个词,可以翻译成说明书
,因为 Gauge 最美好的愿景是:面向开发/测试/产品人员。
Gauge
Specification 是通过 markdown 语法编写,比如:
1 | # 浏览网页 |
在上述 markdown 文件中:
# 浏览网页
作为 Specification 文件的标题## 查找好吃的地方
作为一个scenario
(场景)* 打开google主页地址
则作为一个步骤
Implementation 实现
可以通过对应的开发语言来实现对应的步骤:
1 | step("打开google主页地址", () => { |
gauge runner
执行器读取并运行 Specification 中每个场景的步骤及其实现,并生成通过或失败场景的报告。
1 | # Search the Internet |
重复使用的步骤
Gauge
可帮助您专注于测试应用程序的流程。通过使步骤尽可能可重复使用来实现此目的。使用 Gauge,您无需使用编程语言来构建自定义框架。
比如,可以通过在步骤里使用引号,传递参数给底层语言实现方法。
1 | # 浏览网页 |
实现步骤可以这么写:
1 | step("搜索 <query>", (query) => { |
然后,您可以在具有不同参数的场景内或场景间重复使用此步骤。
1 | # 浏览网页 |
又或者可以将你的多个步骤组合成concept
,放置在.cpt
文件中:
1 | ## 查找 <query> |
然后,其他步骤便可以使用刚才定义好的concept
:
1 | # 浏览网页 |
数据驱动
Gauge
还支持使用 Markdown 表以及外部 csv 文件的数据驱动测试
1 | # 浏览网页 |
该场景会将表中的所有参数带入步骤中,逐行执行。
在上面的示例中,我们重构了specification
,使其简洁,灵活,而无需更改实现。