Rails框架世界:工具Cucumber版本兼容问题
由Gudao Luo在2009-04-15 at 13:08发表的

- 说明
- Cucumber版本组合:
- Cucumber 0.2.3 + rspec 1.1.11 + rspec 1.2.4
- 出现问题:
- “can’t activate rspec (= 1.1.11, runtime), already activated rspec-1.2.4 (Gem::Exception)”
- 解决办法:
- 更新至Cucumber版本0.3.0
- 更新至Cucumber版本0.3.0新问题(代码还是版本Cucumber 0.2.3):
- “you can only pass a proc to #World once, but it’s happening (Cucumber::MultipleWorld)”
- 进一步解决办法:
- 在文件$RAILS_ROOT/features/support/paths.rb中,
把下面代码:
World do |world|
world.extend NavigationHelpers
world
end
修改为:
World(NavigationHelpers)
- 在文件$RAILS_ROOT/features/support/paths.rb中,
- Cucumber版本组合:
- 提示:
- 不要期望(或者说按照错误提示的说明)删除同一程序的旧版本,就能够解决所出现的问题。尽管这是一种方法,但是有时候可能会带来更多的问题。
- 参考资料
- Install Cucumber, Webrat and RSpec
- Cucumber 0.3.0源代码文件(第179行):/Library/Ruby/Gems/1.8/gems/cucumber-0.3.0/lib/cucumber/step_mother.rb
Cucumber实例世界:Cucumber on Rails深化实例(四)
由Gudao Luo在2008-12-05 at 08:48发表的
Cucumber实例世界:Cucumber on Rails最简单实例(三)
由Gudao Luo在2008-12-01 at 23:09发表的
Cucumber实例世界:Cucumber基本概念实例(二)
由Gudao Luo在2008-11-29 at 20:17发表的

- 除了括号<>的内容之外,在文件features/addition.feature
与
文件features/step_definitons/calculator_steps.rb
之间的陈述句要"基本"保持一致;
如:
features/addition.feature:“我已经在计算器里输入<6>”
features/step_definitons/calculator_steps.rb:“我已经在计算器里输入<$n>” - 在括号<>中,一个是具体值:6,一个是变量$n。
- 这个括号<>是我增加的,不是必须的,目的是要把问题说明清楚;
- 括号<>是为了说明在其里面的内容是可以变化的值;
- 陈述句是随意表达的,只要意思正确就可以了。
- 我们可以把这种表述看作为一个“函数名称”。
- 在陈述句之前的单词是该软件的中文关键词,必须如此。
- 关键词之后的空格是我增加的,不是必须的,目的是要把问题说明清楚;
- 在文件.feature中,Cucumber关键词对应于文件
*_steps.rb的相应关键词
如:
features/addition.feature:“当”
features/step_definitons/calculator_steps.rb:“When” - 文件.feature是*应该*是仅仅问题的描述
- 文件
*_steps.rb是对问题的描述具体实现
Cucumber实例世界:Cucumber on Rails基本使用过程(一)
由Gudao Luo在2008-11-28 at 20:17发表的
Rails框架:最有前途的代码测试工具Cucumber
由Gudao Luo在2008-11-26 at 22:40发表的

- 说明
- Cucumber是跨计算机语言的代码测试工具
- Cucumber是使用本地化语言的代码测试工具
- Cucumber是集成多种测试工具于一体的工具
- Cucumber彻底分离测试描述(文字工作者)与描述实现(软件工作者)
- Cucumber更加人性化,更加语言化,更加简单化
- 评论
- Cucumber makes me so happy. —Dr Nic
- 参考资料
- 代码测试工具Cucumber首页
- Cucumber工具开发者
- Cucumber工具相关项目
- Cucumber: Next Generation Ruby BDD tool
- Cucumber: 黄瓜将成为下一代的Ruby BDD工具
- Ruby on Rails(Cucumber Wiki)
- Cucumber(黄瓜)
- Behavior Driven Development with Cucumber
- Using Cucumber for Writing Stories for Command-Line Applications
- Writing a Story: why, when, where, who, what, how and a bunch of other questions and answers
- Using RSpec, Cucumber and User stories to build our internal systems
- Cucumber: The Latest in Ruby Testing
- Story Driven Development Recipes with Cucumber
- Cucumber(中文语言描述)基础讲座系列
Ruby语言Continuous框架
由Gudao Luo在2007-04-24 at 20:31发表的
Rails框架插件:Shoulda
由Gudao Luo在2007-04-22 at 07:32发表的
Ruby语言软件包:Mock Object
由Gudao Luo在2007-04-20 at 17:34发表的
- FlexMock首页
- FlexMock is a flexible framework for creating mock object for testing
- API
- 博客
- http://blog.davidchelimsky.net/
基于网格的分布式软件组件管理系统SmartFrog
由Gudao Luo在2007-03-25 at 13:35发表的

- 开源系统SmartFrog首页:http://www.smartfrog.org/
- 说明:网格技术是未来分布式网络软件的发展方向。在这个网络系统中不同的软件联结起来共同完成重要的和复杂的任务。该系统SmartFrog(Smart Framework,对象组织智能框架)是由惠普(HP)实验室研发的,能够更简单地配置网格计算系统。Ruby语言类似的项目有 Capistrano 和 Puppet 。
- 官方网站摘要:“SmartFrog is a technology for describing distributed software systems as collections of cooperating components, and then activating and managing them. It was developed at HP Labs in Bristol, in the UK. ”
- Google视频:Distributed Testing with SmartFrog
全自动软件分布式管理工具Puppet
由Gudao Luo在2007-03-17 at 23:39发表的

- 说明
- 以Ruby语言开发的Puppet(木偶,一个十分形象的名称)是一个可广泛应用于软件布置的十分重要工具。它可以分布式管理存在于网络中多个*nix操作系统及其重要资源, 比如: 文件、软件包、用户、服务、定时(cron)作业和挂载文件系统等等。摘自该网站说明:“Puppet is a declarative language for expressing system configuration, a client and server for distributing it, and a library for realizing the configuration.” Ruby语言还有类似的工具 Capistrano 。
- 技术资料
- Puppet有趣的图
- Puppet技术文档
- 在Ubuntu上StepByStep安装Puppet
- Puppet安装和使用中文说明
- Capistrano技术文档
- Capistrano安装和使用说明
- Capistrano 1.4.0版本说明
- Capistrano 1.4.1版本说明
- Puppet:基于Ruby的服务器管理自动化套件 http://www.infoq.com/cn/news/2010/02/puppet-25
- 7 of the Best Free Linux Configuration Management Tools http://www.linuxlinks.com/article/20100222155850632/ConfigurationManagement.html
下一代Java软件测试框架TestNG
由Gudao Luo在2007-03-13 at 22:23发表的

- TestNG首页:http://testng.org/
- 说明:TestNG是一款基于注释(Annotations)的软件测试框架。它是吸取JUnit和NUnit好思想和其自己独特思路开发而成的。“TestNG 不仅确实强大、创新、可扩展、灵活,它还展示了 Java Annotations(JDK 5.0 中的重大新特性)的有趣应用。”,这是下面的IBM技术文档的评论。
- Bea技术文档:
错误寻找混合分析器DSD-Crasher
由Gudao Luo在2007-03-05 at 23:22发表的

- 说明:
计算机有混合硬盘( hybrid hard drive )。
Windows Vista具有一种技术称之为ReadyDrive。借此在硬盘里使用闪存(Flash-Speicher),为了使计算机更快启动。不过传统的硬盘没有闪存。
小轿车 有混合发动机。
“混合发动机至少是两种不同的引擎之间的组合。它将普通的内燃机和一个电池驱动的电动引擎结合起来。其好处是,方便加速、减少油耗和有害气体排放量。”
飞机 也有混合发动机。
“。。。以低速飞行时,它用涡轮将空气压入燃烧室与燃料混合,以较高速度飞行时,强大的超音速气流本身就能充当空气压缩机。。。”
现在软件也开始出现了混合(Hybrid)分析器DSD-Crasher。混合(Hybrid)现在是个高科技的时髦词汇。混合技术就是在不同的情况下自动地利用不同技术或者手段在相同系统内完成一个目标。混合分析器DSD-Crasher是利用不同技术寻找软件的错误。
Ruby语言协同集成测试框架RubyFIT
由Gudao Luo在2007-02-15 at 20:17发表的

- RubyFIT首页:fit.rubyforge.org
- RubyFIT是 FIT 的Ruby语言的一个实现。FIT框架看看有多少语言的实现,就大概知道其重要性。
- FIT是什么?摘自该网页说明
- Great software requires collaboration and communication. Fit is a tool for enhancing collaboration in software development.


