[每周软件]:Cucumber:Cucumber in Rails

##简介##


OSChina 的链接 Cucumber

ruby 的 BDD框架,类似自然语言的DSL,适用于BDD模式和验收测试。

Book

The Rspec Book

The Cucumber Book

本系列所有内容取自The Rspec Book 虽标记原创 但其实我只是翻译总结了一下

##Ready##

Gemfile:

<!-- lang: ruby -->
group :test do
    gem 'rspec-rails'
    gem 'cucumber-rails'
    #下面这俩都是验收测试用的 模拟浏览器操作 没有太大区别 自己选用吧
    gem 'capybara'
    #gem 'webrat'
    gem 'factory_girl_rails' #假数据生成
    gem 'database_cleaner' #运行之后清空数据库
end

Install

<!-- lang: ruby -->
    $rails g cucumber:install

##Visit Home Page##

features/home_pages.feature

 <!-- lang: ruby -->
    #language: zh-CN
    功能: 未登录用户的访问
      作为一个未登录用户
      不登录的访问
      应该访问到首页或者固定页面
    
      场景大纲: 访问基本界面
        假如 我访问 "<page>"
        那么 我应该看到 "<content>"
    
      例子:
        |page     |content      |
        |/home     |My Home Page |
        |/about   |My About Page|
        |/something|My Home Page |

features/step_definitions/home_step.rb

 <!-- lang: ruby -->
    #encoding: utf-8
    Before do #这里是使用fixtures数据的方法,使用factory_girl也很简单 fixtures有点不一样 就没用factory_girl
      ActiveRecord::Fixtures.reset_cache
      fixtures_folder = File.join(Rails.root, 'spec', 'fixtures')
      fixtures = Dir[File.join(fixtures_folder, '*.yml')].map {|f| File.basename(f,
      ActiveRecord::Fixtures.create_fixtures(fixtures_folder, fixtures)
    end
    
    假如 /^我访问 "(.*?)"$/ do |arg1|
      puts "link:#{arg1}"
      visit arg1
    end
    
    那么 /^我应该看到 "(.*?)"$/ do |arg1|
      page.should have_content(arg1)
    end

visit page 等方法来自capybara,具体使用方法需要参考capybara

spec/fixtures/pages.yml

     <!-- lang: ruby -->
        one:
          link: home
          title: 首页
          content: My Home Page
          page:
          level: 0
        
        two:
          link: about
          title: 关于
          content: My About Page
          page:
          level: 1

运行:$rake cucumber

在Rails中使用Cucumber并没有太大区别,主要是结合假数据生成,webrat等方法的一起使用。

##To Be Continued##

Cucumber 源码查看(一)

Cucumber 源码查看(二)

Cucumber 总结

转载于:https://my.oschina.net/jerrytao/blog/104536

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值