免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3300 | 回复: 2
打印 上一主题 下一主题

Rails3中使用Rspec进行行为驱动测试 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-10 11:34 |只看该作者 |倒序浏览
Rails3中使用Rspec进行行为驱动测试







环境:

ruby 1.9.3

rails 3.1.3




简介:




RSpec is a Behaviour-Driven Development tool for Ruby programmers. BDD is an approach to software development that combines Test-Driven Development, Domain Driven Design, and Acceptance Test-Driven Planning. RSpec helps you do the TDD part of that equation, focusing on the documentation and design aspects of TDD.



RSpec是ruby程序设计中行为驱动测试(BDD)的工具。(BDD)是一种结合测试驱动开发,领域驱动设计,验收测试的软件开发方法。rspec更侧重于测试驱动开发中文档和设计部分。




rails默认使用test/unit做为测试框架,那么如何使用Rspec呢?




1. 安装RSpec相关的Gem包



    gem install rspec-rails

  
    执行后,会自动安装相应的gem包:



Ruby代码
  1. 1.rspec   
  2. 2.rspec-core   
  3. 3.rspec-expectations   
  4. 4.rspec-mocks   
  5. 5.rspec-rails  
  6. rspec
  7. rspec-core
  8. rspec-expectations
  9. rspec-mocks
  10. rspec-rails
复制代码
2. 新建一个rails工程,打开Gemfile文件,在roup中增加如下代码,注意添加:development,这段代码告诉Bundler我们需要在Rails中安装rspec-rails来运行RSpec





Ruby代码
  1. 1.group :test, :development do  
  2. 2.  # Pretty printed test output   
  3. 3.  gem 'rspec-rails', '2.7.0'  
  4. 4.  gem 'turn', '~> 0.8.3', :require => false  
  5. 5.end  
  6. group :test, :development do
  7.   # Pretty printed test output
  8.   gem 'rspec-rails', '2.7.0'
  9.   gem 'turn', '~> 0.8.3', :require => false
  10. end
复制代码
3. 最后,运行RSpec的生成器



Ruby代码
  1. 1.rails generate rspec:install  
  2. rails generate rspec:install
复制代码
生成器创建了几个新文件,分别是:

•.rspec – 用于配置 rspec 命令行的配置文件,默认包含 – colour 来启用RSpec输出文字高亮。
•spec – 该目录用于存放所有模型变量,控制器,视图,和项目中其它的specs。
•spec/spec_helper.rb – 该文件会在每个spec执行时被调用。该文件设置了测试变量,并包含项目级别RSpec配置项,加载引用文件等等。
4.此时运行: rails generate 你就会看到 rspece:install 这个生成器, 这是因为RSpec已经被注册为Rails的测试框架,所以当你在rails工程中生成models,controllers等时,RSpec就会取代Test::Unit


如下:


Ruby代码
  1. 1.<SPAN>F:\test_rspec>rails generate controller Pages contact   
  2. 2.    ...   
  3. 3.    invoke  rspec   
  4. 4.    create    spec/controllers/pages_controller_spec.rb   
  5. 5.    create    spec/views/pages   
  6. 6.    create    spec/views/pages/contact.html.erb_spec.rb   
  7. 7.    ....</SPAN>  
  8. F:\test_rspec>rails generate controller Pages contact
  9.     ...
  10.     invoke  rspec
  11.     create    spec/controllers/pages_controller_spec.rb
  12.     create    spec/views/pages
  13.     create    spec/views/pages/contact.html.erb_spec.rb
  14.     ....
复制代码
参考资料:
        http://lanvige.com/posts/how_to_rails_3_and_rspec_2/
        https://www.relishapp.com/rspec
        https://github.com/rspec/rspec-rails

论坛徽章:
0
2 [报告]
发表于 2012-01-10 11:35 |只看该作者
谢谢分享

论坛徽章:
0
3 [报告]
发表于 2012-01-11 08:50 |只看该作者
这个还不错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP