道喜技术日记 .^. 天天红玉世界

Rails Ruby MacOSX 。。。创新来自于刻苦的实践和勤奋的思考... www.hhtong.com


Rails框架世界:工具Cucumber版本兼容问题

Gudao Luo2009-04-15 at 13:08发表的

工具Cucumber版本兼容问题
  • 说明
    • 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)
  • 提示:
    • 不要期望(或者说按照错误提示的说明)删除同一程序的旧版本,就能够解决所出现的问题。尽管这是一种方法,但是有时候可能会带来更多的问题。

Cucumber实例世界:Cucumber on Rails深化实例(四)

Gudao Luo2008-12-05 at 08:48发表的

Cucumber on Rails深化实例(四)

Cucumber实例世界:Cucumber on Rails最简单实例(三)

Gudao Luo2008-12-01 at 23:09发表的

Cucumber on Rails最简单实例

Cucumber实例世界:Cucumber基本概念实例(二)

Gudao Luo2008-11-29 at 20:17发表的

Cucumber基本概念实例(二)
说明
  • 除了括号<>的内容之外,在文件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工具重要的中英文关键词对照
"zh-CN":
Feature: 功能
Scenario: 场景
Given_scenario: 引用场景
Given: 假如
When: 当
Then: 那么
And: 而且
But: 但是

Cucumber实例世界:Cucumber on Rails基本使用过程(一)

Gudao Luo2008-11-28 at 20:17发表的

Cucumber on Rails基本使用过程(一)

Rails框架插件:Shoulda

Gudao Luo2007-04-22 at 07:32发表的

基于网格的分布式软件组件管理系统SmartFrog

Gudao Luo2007-03-25 at 13:35发表的

  • 说明:网格技术是未来分布式网络软件的发展方向。在这个网络系统中不同的软件联结起来共同完成重要的和复杂的任务。该系统SmartFrog(Smart Framework,对象组织智能框架)是由惠普(HP)实验室研发的,能够更简单地配置网格计算系统。Ruby语言类似的项目有 CapistranoPuppet
  • 官方网站摘要:“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. ”

全自动软件分布式管理工具Puppet

Gudao Luo2007-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
评论: (disabled) 标记: Application, Automating, Deployment, Distributed, Ruby, Testing, puppet

下一代Java软件测试框架TestNG

Gudao Luo2007-03-13 at 22:23发表的

  • 说明:TestNG是一款基于注释(Annotations)的软件测试框架。它是吸取JUnit和NUnit好思想和其自己独特思路开发而成的。“TestNG 不仅确实强大、创新、可扩展、灵活,它还展示了 Java Annotations(JDK 5.0 中的重大新特性)的有趣应用。”,这是下面的IBM技术文档的评论。

错误寻找混合分析器DSD-Crasher

Gudao Luo2007-03-05 at 23:22发表的

  • 说明:

计算机有混合硬盘( hybrid hard drive )。
Windows Vista具有一种技术称之为ReadyDrive。借此在硬盘里使用闪存(Flash-Speicher),为了使计算机更快启动。不过传统的硬盘没有闪存。

小轿车混合发动机。
“混合发动机至少是两种不同的引擎之间的组合。它将普通的内燃机和一个电池驱动的电动引擎结合起来。其好处是,方便加速、减少油耗和有害气体排放量。”

飞机 也有混合发动机。
“。。。以低速飞行时,它用涡轮将空气压入燃烧室与燃料混合,以较高速度飞行时,强大的超音速气流本身就能充当空气压缩机。。。”
现在软件也开始出现了混合(Hybrid)分析器DSD-Crasher。混合(Hybrid)现在是个高科技的时髦词汇。混合技术就是在不同的情况下自动地利用不同技术或者手段在相同系统内完成一个目标。混合分析器DSD-Crasher是利用不同技术寻找软件的错误。

Ruby语言协同集成测试框架RubyFIT

Gudao Luo2007-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.