Cucumber的执行

简介:   在Cucumber项目中,当我们执行cucumber命令时,会首先执行features/support目录下的几个支持文件:env,hooks,world和transforms。Cucumber的这些系统文件的执行顺序如下图所示:     1.

  在Cucumber项目中,当我们执行cucumber命令时,会首先执行features/support目录下的几个支持文件:env,hooks,world和transforms。Cucumber的这些系统文件的执行顺序如下图所示:

 

  1. env.rb:通常用于准备环境变量;

  2. transforms.rb:用于转换feature描述中需要正则匹配的字符串,通过调用Cucumber::RbSupport::RbDsl的Transform方法,完成字符串到自定义类型的转换;

  3. hooks.rb:是一个钩子,其中定义了Before、After与at_exit方法,通过提供block执行场景前、后以及退出执行后的相关逻辑,例如:  

 
             
 1 Before do
2 #do something
3 end
4
5 After do
6 Browsers.close_all
7 end
8
9 at_exit do
10 Browsers.close_all
11 end

  hooks的示例:http://www.cnblogs.com/puresoul/archive/2012/03/05/2380543.html

   4. world.rb:World可以看做是Cucumber在每个场景之前所要创建的对象的实例,它使得每一个Step Definition可以调用该实例的方法。World在Cucumber中被定义为方法,接受可变参数mudules,以及一个proc:

 
1 def World(*world_modules, &proc)
2 RbDsl.build_rb_world_factory(world_modules, proc)
3 end
  world示例:http://www.cnblogs.com/puresoul/archive/2012/03/05/2380022.html

 

 

 

本文来自(除示例外),仅供学习参考:http://www.agiledon.com/?tag=cucumber

 

 

 

 

目录
相关文章
|
6月前
|
测试技术
如何用命令行执行cypress?
如何用命令行执行cypress?
112 0
|
3月前
|
Rust 测试技术
rust单元测试顺序执行
rust单元测试顺序执行
34 0
|
JSON 测试技术 数据格式
【HttpRunner v3.x】笔记—9.运行testcase的几种方式
【HttpRunner v3.x】笔记—9.运行testcase的几种方式
【HttpRunner v3.x】笔记—9.运行testcase的几种方式
|
Shell Kotlin
Kotlin 使用命令行执行 kts 脚本
运行 REPL(交互式解释器) 我们可以运行如下命令得到一个可交互的 shell,然后输入任何有效的 Kotlin 代码,并立即看到结果 image.png Kotlin 使用命令行执行 kts 脚本 Kotlin 也可以作为一个脚本语言使用,文件后缀名为 .kts 。
1685 0
|
缓存 测试技术
Pytest系列(30)- 使用 pytest-xdist 分布式插件,如何保证 scope=session 的 fixture 在多进程运行情况下仍然能只运行一次
Pytest系列(30)- 使用 pytest-xdist 分布式插件,如何保证 scope=session 的 fixture 在多进程运行情况下仍然能只运行一次
293 0
Pytest系列(30)- 使用 pytest-xdist 分布式插件,如何保证 scope=session 的 fixture 在多进程运行情况下仍然能只运行一次
|
测试技术
通过代码去执行testNG用例
背景 用testNG去编写的测试用例,通过@Test去执行用例,一般本地都是通过IDE去执行相应的方法,持续集成的话,都是通过maven来执行或指定testNG.xml执行,但是如果想通过接口/界面去执行测试用例呢?   步骤 testNG其实提供了两种通过代码执行的方法 1.
1361 0