我爱编程

研究cucumber后需要注意的要点汇总

2018-03-28  本文已影响114人  Cindy_yu

1.运行时,必须要在cucumber_framework这个文件夹下运行feature文件夹下的.feature的文件。不能进入feature文件夹下运行!!!

2.custom_steps.rb这个文件是用ruby语言开发行为的步骤,以便机器可以识别自然语言。而selenium-cucumber这个包中已经含有很多封装好方法。以后可能要在这个文件中封装步骤的方法。

3.featrue文件被称之为特性文件。

4.在cucumber中,每个测试用例成为场景(Scenario),多个场景组成特性,每个场景包含多个步骤。

5.特性文件存储面向业务的部分,为了能够让cucumber正确读取文件,这些内容必须基于一套名为Gherkin的语法规则。往下一层,步骤定义把面向业务语言编写的步骤翻译成ruby代码。

6.TODO类似于注释,忽略。

7.有一个重要的概念需要掌握:每一个场景都必须有独立的意义,且能够不依赖任何其他场景独立运行。

8.cucumber会载入step_definitions目录下的所有文件。

9.cucumber会存储代码块,之后如果遇到匹配的步骤就执行。

10.Given、When、Then是相同的,因为cucumber在匹配步骤时是忽略这些关键字的,在下层实现中,所有这些关键字方法都是:Cucumber::RbDsl#register_rb_step_definition的别名,正则表达式主要是为了匹配步骤中的主要文本。

11.捕获参数:捕获组(capture group)和通配符(wildcard)

12.显示地告诉cucumber从features根目录加载步骤定义代码:

cucumber feature/某文件.feature -r features

13、可在场景前加上标签:@widgets

14、给场景打标签的三个主要原因:

       14.1文档:你只想用标签给一些特定的场景加上标注,例如给他们加上一个源于项目管理工具的ID

       14.2过滤:cucumber允许将标签作为过滤器,用来挑选要运行或报告的特定场景。甚至可以让cucumber在特定标签出现次数太多的情况下运行失败。

       14.3钩子:每当一个带有特殊标签的场景即将开始或刚刚结束时运行一下Ruby代码块。

下面的命令在运行cucumberi是只选择带有特定标签的场景:

cucumber --tags @javascript

15.数据表示为了运行更多的case而设计的表。

上一篇下一篇

猜你喜欢

热点阅读