Gauge从入门到精通——[2]语法
为了让大家对gauge语法有更好的理解,我以一部大家都喜欢地电视《鹿鼎记》
为例。
梗概
gauge语法结构
gauge语法是基于markdown。
解释
- test suite:测试套件,可以理解为一个测试项目 。包含一个或者多个spec文件;
- spec:spec(.spec或者 .md)文件,一系列测试场景的集合,通常是指一个文件;
- scenario:测试场景(我更愿意叫它:用户故事),通常包含多个步骤;
- step:测试步骤,指明这一个步骤内容,告诉别人要做什么。通常和代码实现关联。
- tags: 标签,打上标签的spec或者scenario可以单独执行。
- concept:多个步骤组合而成,又可以做为一个步骤。
- parameters:参数,gauge的参数比较丰富,后面详说。
举例
# 鹿鼎记tags: the.deer.and.the.cauldronspec下的步骤
* 开始看电视## 第一回tags: episode_1
* 主角 "韦小宝" 降临
* 他乡遇故知 "陈近南" ,成为他的徒弟## 第二回tags: episode_2
* 主角 "韦小宝" 降临
* 联合 "乾隆" 打败 "鳌拜"## 第三回tags: episode_3* 主角 "韦小宝" 降临
* 认识许多漂亮女孩|girl |age||------|---||双儿 |17 ||沐剑屏 |18 ||苏荃 |25 ||阿珂 |18 ||建宁公主|20 ||曾柔 |20 ||方怡 |22 |___
* 关机睡觉
specification
specification是一个 .spec或者.md文件的一级标题
,如
# 鹿鼎记
或者
鹿鼎记
==========
一个spec文件只允许有一个一级标题
scenarios
scenarios是spec文件内的二级标题,通常一个spec文件可以包含多个二级标题
,比如
## 第一回
或者
第二回
-----------
step
step是指测试步骤,他是以*格式开头。如
* 主角 "韦小宝" 降临
concept
concept可以聚合多个步骤组成一个步骤,以供spec使用,上面《鹿鼎记》的例子没有,我在下面补充上。
新建一个cpt文件
example.cpt,内容如下
# 喜欢 <girl>, 并和她结婚
* 遇到漂亮的 <girl>
* 追求到她,并同她结婚
spec文件如何使用concept呢?
我们在spec文件新建一个scenario,添加步骤
## 第四回* 主角 "韦小宝" 降临
* 喜欢 "双儿", 并和她结婚
双儿
会作为参数,从.spec传递到.cpt。详细内容,我们在实战里细说。
tags
tags是指标签,可以这么理解,我想看电视《鹿鼎记》 那么给鹿鼎记加个标签,然后我可以只执行这个标签。如果我想看鹿鼎记的某一集,那么我可以只执行这一集的标签即可。
tags: the.deer.and.the.cauldron
tags: episode_1
parameters
简单参数
韦小宝
便是简单参数,在步骤里传递的
* 主角 "韦小宝" 降临
动态参数
请看上面concept这一节,< girl>表示动态参数
.cpt
# 喜欢 <girl>, 并和她结婚
* 遇到漂亮的 <girl>
* 追求到她,并同她结婚
.spec
## 第四回* 主角 "韦小宝" 降临
* 喜欢 "双儿", 并和她结婚
表格参数
表格参数,很明显是指参数是以表格的形式列明,然后步骤里面可以逐个取出使用。
如:
* 认识许多漂亮女孩|girl |age||------|---||双儿 |17 ||沐剑屏 |18 ||苏荃 |25 ||阿珂 |18 ||建宁公主|20 ||曾柔 |20 ||方怡 |22 |
文件参数
文件参数,在示例里面没有写出来,在此处单独做说明。
csv文件参数
csv文件可以代替spec里面的表格参数,看上去比较简洁,但不明了。因为参数全部在csv文件里
* 认识许多漂亮女孩|girl |age||------|---||双儿 |17 ||沐剑屏 |18 ||苏荃 |25 ||阿珂 |18 ||建宁公主|20 ||曾柔 |20 ||方怡 |22 |
* 认识许多漂亮女孩 <table:girl.csv>
csv内容如下:
girl,age
双儿,17
沐剑屏,18
苏荃,25
阿珂,18
建宁公主,20
曾柔,20
方怡,22
上面的步骤作用完全一样
txt文件参数
txt文件的作用是代替静态参数的传入,gauge会自动将读取到的文件内容做为参数传给底层代码实现。
* 主角 "韦小宝" 降临
* 主角 <file:file.txt> 降临
file.txt的内容为
韦小宝
上面的两个步骤作用完全一样
tear down
tear down表面解释是拆除,可以理解为数据清理。若有tear down则每执行一个scenario都会在最后执行tear down
它是以三个或者更多的_
下划线组成,比如
___
* 关机睡觉
注释
无任何符号开头的句子便是注释,比如
这里是注释
Gauge从入门到精通——[2]语法相关推荐
- 1、ASP.NET MVC入门到精通——新语法
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 在学习ASP.NET MVC之前,有必要先了解一下C#3.0所带来的新的语法特性,这一点尤为重要,因为在MVC项目中我们利用C#3.0的新特 ...
- Markdown 从入门到精通
Markdown 从入门到精通 Markdown 语法各平台和工具略有不同,此处以 Typora 为准. <常用软件网站推荐> 一文中,写作工具推荐 中有提到 推荐 Markdown,也提 ...
- 《Python入门到精通》Python基础语法
「作者主页」:士别三日wyx 此文章已录入专栏<Python入门到精通> 2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 Python基础语法 1. Hel ...
- python语法基础语法_Python基本语法[二],python入门到精通[四]
在上一篇博客Python基本语法,python入门到精通[二]已经为大家简单介绍了一下python的基本语法,上一篇博客的基本语法只是一个预览版的,目的是让大家对python的基本语法有个大概的了解. ...
- 《Java 开发从入门到精通》—— 2.2 编写第一段Java程序
本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.2节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.2 编 ...
- Java学习从入门到精通的学习建议
想要学好java技术,首先打好基础很重要,不论学什么基础都是重中之重,学习Java更是如此.如:基础语法.核心类库.面向对象编程.异常.集合.IO流等基础如果学不好,那么后边更深入的语法也不容易学会. ...
- MAT入门到精通(二)
点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 阅读本文大概需要6分钟. 上一篇文章MAT入门到精通(一)介绍了MAT的使用场景和基本概念,这篇文 ...
- Python从入门到精通 - 入门篇 (下)
上一讲回顾:Python从入门到精通 - 入门篇 (上) 接着上篇继续后面两个章节,函数和解析式. 4 函数 Python 里函数太重要了 (说的好像在别的语言中函数不重要似的).函数的通用好处就不用 ...
- 《Visual C++ 开发从入门到精通》——2.7 变量
本节书摘来自异步社区出版社<Visual C++ 开发从入门到精通>一书中的第2章,第2.7节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区"异步社区"公众号 ...
最新文章
- 2021年大数据ELK(十三):Elasticsearch编程(添加职位数据)
- BERT各个场景实例代码
- from developer to data scientist cros entopy
- 编码,深浅拷贝和文件操作
- Struts2笔记——result结果类型
- 错误 - 无法访问IIS元数据库
- MOBA项目问题记录
- [密码学] ElGamal加密算法与离散对数
- NYOJ 52 无聊的小明
- 再过四十年,你的女朋友可能是个美丽的机器人!不信你看
- 如何评价百度新目标:Everyone can AI ?| 在现场
- 北京购房攻略(4.17)
- CSP202104-4 校门外的树
- JS中onblur总结
- 10大必看的经典恐怖漫画
- 《增长黑客》Sean Ellis epub+mobi+azw3
- 数据库相关岗位面试准备建议
- Matlab 版本对照
- 【Pytorch】data.norm(几种范数(norm)的详细介绍)
- 计算机远程用户关机指令,详细介绍一个远程关机命令
热门文章
- arcpy 诸多操作教程代码 读取shp保存到mxd等
- 恒玄BES调试笔记-BES2500蓝牙地址和蓝牙名称api
- 恒玄BES调试笔记-BES2500如何打开NS算法
- 精细化耕耘是B2C转战B2B良好的开端
- Efficient reversible data hiding for JPEG images with multiple histograms modification(论文阅读)
- 【Android】BlockCanary简介
- STM32 I2C通信协议+CubeMx配置
- JavaWeb项目--网上商城 (6-1)
- BFS【bzoj1667】: [Usaco2006 Oct]Cows on Skates滑旱冰的奶牛
- 交换机对数据帧的转发和过滤