Rails3中使用Rspec进行行为驱动测试_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Rails3中使用Rspec进行行为驱动测试

Rails3中使用Rspec进行行为驱动测试

 2012/1/10 12:44:55  michael_roshen  程序员俱乐部  我要评论(0)
  • 摘要:环境:ruby1.9.3rails3.1.3简介:RSpecisaBehaviour-DrivenDevelopmenttoolforRubyprogrammers.BDDisanapproachtosoftwaredevelopmentthatcombinesTest-DrivenDevelopment,DomainDrivenDesign,andAcceptanceTest-DrivenPlanning.RSpechelpsyoudotheTDDpartofthatequation
  • 标签:使用 rails rails3 测试

环境:

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包:

?

rspec
rspec-core
rspec-expectations
rspec-mocks
rspec-rails

?

2. 新建一个rails工程,打开Gemfile文件,在roup中增加如下代码,注意添加:development,这段代码告诉Bundler我们需要在Rails中安装rspec-rails来运行RSpec

?

?

group :test, :development do
  # Pretty printed test output
  gem 'rspec-rails', '2.7.0'
  gem 'turn', '~> 0.8.3', :require => false
end

?

3.?最后,运行RSpec的生成器

?

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
如下:
F:\test_rspec>rails generate controller Pages contact
    ...
    invoke  rspec
    create    spec/controllers/pages_controller_spec.rb
    create    spec/views/pages
    create    spec/views/pages/contact.html.erb_spec.rb
    ....


参考资料:? ? ? ? ??http://lanvige.com/posts/how_to_rails_3_and_rspec_2/ ? ? ? ??https://www.relishapp.com/rspec ? ? ? ??https://github.com/rspec/rspec-rails
发表评论
用户名: 匿名