Cucumber的执行

论坛 期权论坛 脚本     
已经匿名di用户   2022-4-26 15:52   1349   0

  在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

 
 

转载于:https://www.cnblogs.com/puresoul/archive/2012/03/16/2399818.html

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP