随笔分类 -  Cucumber

摘要:在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执... 阅读全文
posted @ 2012-03-16 10:26 贺满 阅读(2256) 评论(1) 推荐(0) 编辑
摘要:a)Multi-line Text 在feature文件中,我们可以嵌入多行文本(multi-line string)作为参数,我们需要用一对三个双引号把我们的文本括起来。《The RSpec Book》一书中的示例如下:feature文件: 1 Scenario: pending implementation 2 Given a file named "example_without_block_spec.rb" with: 3 """ 4 describe "an example" do 5 it "has n 阅读全文
posted @ 2012-03-06 18:30 贺满 阅读(4000) 评论(0) 推荐(0) 编辑
摘要:Hooks & BackgroundHooks 在很多情况下,我们需要在每个scenario之前(before)和之后(after)执行某些相同的操作。比如说在测试完成后要关闭浏览器。在Cucumber中,我们可以使用hooks. 在Cucumber中,有三种不同的hooks: Before: 在每个scenario前执行 After: 在每个scenario后执行 AfterStep: 在每个scenario后执行我们可以把这些hooks放在features文件夹下面的任何ruby文件里面,但一般推荐的做法是把它们放在features/support/hooks.rb 文件里,这样让 阅读全文
posted @ 2012-03-05 16:29 贺满 阅读(6522) 评论(0) 推荐(0) 编辑
摘要:1.World: World可以看做是Cucumber在运行每个场景之前所要创建的对象的实例,它不仅使得每一个Step Definition可以调用该实例的方法,而且使得为该项目定义的Ruby类是也可以调用该实例的方法。World在Cucumber中被定义为方法,接受可变参数mudules,以及一个proc: 1 def World(*world_modules, &proc)2 2 RbDsl.build_rb_world_factory(world_modules, proc) 3 end下面看一个我自己写的小示例: 目录结构如下:env.rb:该文件通常用于准备环... 阅读全文
posted @ 2012-03-05 10:44 贺满 阅读(2790) 评论(0) 推荐(0) 编辑
摘要:1、特性(Feature)文件应该描述特性,而不是应用程序的组成部分 每个特性文件应有一个好的命名,并保持特性的专注2、避免特性与领域逻辑的不一致性 使用Cucumber的一个好处是可以让客户参与其中。为此,在编写你的故事(Story)时,应确保使用客户的领域语言。这一活动的最佳做法是让客户也参与编写故事。3、用组织代码的思想来组织你的特性与场景(Scenary) 组织特性的一种有效办法是按照它们运行的速度。可以使用2-3级的粒度来表示: Fast:场景的运行非常快,例如十分之一秒; Slow:运行速度慢,但还不至于到难以忍受的地步,可能每个场景耗时1秒; Glacia... 阅读全文
posted @ 2012-03-01 17:08 贺满 阅读(2676) 评论(0) 推荐(0) 编辑
摘要:最近正在对公司内部进行Ruby+Cucumber的培训(主要是测试人员),我们的目标是让整个项目的人都掌握如何使用Ruby+Cucumber编写TestCase. 并没有很深入的去研究Ruby的知识,只是为满足写Case的要求。大概分为6课,课程结束后,相信大家都可以自己动起手来写case了。这里就 阅读全文
posted @ 2012-02-17 18:37 贺满 阅读(2326) 评论(48) 推荐(1) 编辑
摘要:1.Gherkin简介:Cucumber是一个解释程序,就像ruby命令执行解释 .rb文件里的Ruby代码一样,Cucumber用来执行解释 .feature文件里的Gehrkin代码。2.关键字:当你编写一个feature文件的时候,会用到很多Gherkin语言里特定的关键字,主要包括下这面些: • Feature • Background • Scenario • Scenario outline • Scenarios (or examples) • Given • When • Then • And (or but) • | (用来定义表格) • """ 阅读全文
posted @ 2011-12-28 17:13 贺满 阅读(10520) 评论(0) 推荐(1) 编辑
摘要:这几天本人在Window server 2003(工作机)中搭建Cucumber环境时(可以看我的另一篇文章:http://www.cnblogs.com/puresoul/archive/2011/11/18/2254407.html),当运行gem install cucumber时,报错:ERROR: Failed to build gem native extension.到处搜寻未果,最后在这里找到了答案:https://github.com/oneclick/rubyinstaller/wiki/Troubleshooting,特此转来。本人就不做翻译了,有需要的朋友尽管拿去,.. 阅读全文
posted @ 2011-12-01 17:02 贺满 阅读(27039) 评论(1) 推荐(0) 编辑
摘要:搭建Cucumber的环境是一个相当折磨人的过程,各中原由就不说了。今天本人就从头到尾的把Ruby和Cucumber安装了一遍,顺便做了个记录方便以后用。如果有朋友也在搞这个的话,希望对你有用。不多说了,进正题吧。1.安装前的准备:a)确保网络畅通b)酝酿情绪,做好打持久战的准备2.安装RubyInstallera)可到这个网站去下载rubyinstaller: http://rubyforge.org/projects/rubyinstallerb)注意:安装目录结构不要太深c)安装完成后在命令行运行: ruby –v 可以查看是否安装成功3.安装DevKita)下载地址同rubyins.. 阅读全文
posted @ 2011-11-18 17:26 贺满 阅读(7258) 评论(3) 推荐(0) 编辑