`
zhou.xingbo
  • 浏览: 53143 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

rails3测试理解

阅读更多

Why RSpec?

Clear, concise and readable

 

Gems

.rspec

.rspec-core

.rspec-expectations

.rspec-mocks

.rspec-rails

 

Basics

Contexts

Describing methods

 

Running

rspec spec/

 

Formatters

echo --colort  > .rspec

 

测试运行时附加参数

--colour 为测试输出加颜色

--format o 列出测试时间

--format html:test.html 输出测试文档到test.html

--diff 如测试失败,以diff模式查看期望结果和所得结果的不同

 

 

Documentation

rspec -f doc spec/

rspec -f Fuubar -f html -o specs.html spec/

 

Pending

Filtering by tag

Filtering by tag value

Setup and teardown

Expectations

Built-in matchers

Mocks and stubs

 

详情参考:

http://kerryb.github.com/iprug-rspec-presentation

 

 

rails 测试

rspec替换rails原有的Test:Unit

rails g rspec:install

.create .rspec

.create spec

.create spec/spec_helper.rb (该文件会在每个spec执行时被调用,设置了测试变量,并包含项目级别的RSpec配置项目,加载引用文件等等)

 

run: rake spec

run: rake spec:model

run: time rake spec:model

 

factory girl

gem 'factory gril', :git => 'git://github.com/thoughtbot/factory_girl.git', :branch => 'rails3'

add: spec/spec_helper.rb require 'factory_girl'

mkdir spec/factories

 

cucumber-Rails

 

It contains 2 generators - one for bootstrapping your Rails app for Cucumber, and a second one for generating features.

 

Installation

gem 'cucumber-rails'

gem 'capybara'

gem 'database_cleaner'


bootstrap your rails app

rails g cucumber:install --help

rails g cucumber:install

 

generating a cucumber feature

rails g cucumber:feature post title:string body:text published:boolean

rails g scaffold post title:string body:text published:boolean

rake db:migrate

rake cucumber

 

查看cucumber语言支持

cucumber --i18n help

cucumber --i18n zh-CN

 

中文写cucumber可以参考:

https://github.com/aslakhellesoy/cucumber/tree/master/examples/i18n/zh-CN

 

辅助工具:

会自动监视你的代码的改动,自动运行测试,所以你只要开一个窗口就好

autotest

run: autotest

watchr

需要自己手工写.watchr 或 watchr.rb文件

run: watch .watchr 或 watchr.rb

 

spork

让spec运行快起来

 

webrat or capybara

模拟浏览器

 

可以参考rails模板:

https://github.com/oldumy/rails3-app-template

 

测试相关:

自动生成测试文档

通过附加参数 --format specdoc 每次测试时在终端输出测试文档

spec spec/models/blog_spec.rb --format specdoc 

也可以使用rake spec:doc在终端生成全部测试代码的文档

也可以使用--format html将测试文档输出到指定html文件

spec spec/models/blog_spec.rb --format html:test.html

生成覆盖率

利用rcov生成代码覆盖率

rake spec:rcov

会生成html格式的代码覆盖率文档

通过配置spec/rcov.opts来过滤其他代码覆盖率的干扰

--exclude "spec/*, gems/*, app/controllers/*, app/helpers/*, lib/*"

 

ps:

http://blog.adsdevshop.com/2010/06/06/tdd-on-the-bleeding-edge-with-ruby193-rails3-rspec-cucumber-autotest-and-factory-girl

http://mikbe.tk/2011/02/10/blazingly-fast-tests/

http://www.claytonlz.com/index.php/2010/03/zero-to-tested-with-cucumber-and-factory-girl/

http://www.iteye.com/topic/417899

http://www.anthonyeden.com/2010/11/testing-rest-apis-with-cucumber-and-rack-test/

guard

yajl

acts as api

lambda

acts_as_api

 

 

 

分享到:
评论

相关推荐

    深入解析Rails测试策略:单元测试与功能测试的区别

    单元测试和功能测试是Rails测试策略的两个重要组成部分,它们共同确保了应用程序的稳定性和可靠性。通过深入理解这两种测试的区别和应用场景,开发者可以更有效地编写和维护测试代码,提高代码质量和开发效率。 通过...

    rails3教程

    ### Rails3教程知识点详解 #### 一、Rails3简介与核心原则 **Rails3**是Ruby on Rails框架的一个重要版本,它对之前的版本进行了大量的改进和优化,使其更加强大和灵活。Rails3的核心设计理念围绕着几个关键的概念...

    ruby on rails 3 tutorial.pdf

    此外,你还将接触到Rails的测试驱动开发(TDD)理念,学习如何编写测试用例,确保代码的质量和稳定性。 随着学习的深入,你将探索更高级的主题,如AJAX集成、Caching技术以提升应用性能,以及如何利用gem(Ruby的库...

    使用RSpec 测试Rails 程序.pdf

    3. **RSpec配置**:编辑`spec_helper.rb`来配置RSpec的行为和偏好,例如指定默认的测试环境、启用或禁用特定特性等。 4. **生成器**:使用`rails generate rspec:install`命令来初始化RSpec,并创建必要的目录结构和...

    Rails 3 in Action

    6. **测试驱动开发(TDD)**:Rails强调TDD,书中介绍了Rspec、Cucumber等测试工具的使用,以及如何编写单元测试和集成测试。 7. **RESTful设计**:Rails鼓励使用RESTful风格来设计Web服务,书中讲解了如何实现CRUD...

    Ruby-APITaster一种快速而简单的方法来可视化测试你的Rails应用API

    5. **协作与演示**:在团队中,你可以分享API Taster的链接,让其他成员也能轻松测试和理解API,这对于协作开发非常有用。 在使用API Taster之前,确保你的Rails应用已经配置好并运行。然后,将api_taster-master...

    Ruby on Rails 3 Tutorial

    ### Ruby on Rails 3 教程知识点解析 #### 标题与描述中的核心知识点 - **Ruby on Rails 3**:一种流行的Web开发框架,基于Ruby语言。 - **经典教材**:表明本书是学习Ruby on Rails 3的一个权威且广受好评的资源...

    rails3 api chm格式

    2. "Rails3 api.chm":这是Rails 3的主要API文档,它应该包含了关于控制器、模型、视图、路由、数据库交互、辅助方法、插件、测试等所有关键部分的详细信息。开发者可以通过搜索、索引等功能快速查找所需的信息。 ...

    Ruby Rails 3 Linda

    Ruby on Rails,简称Rails,是由David Heinemeier Hansson基于Ruby语言开发的一个开源Web应用程序框架。...随着版本的迭代,Rails 4和5引入了更多优化和改进,但Rails 3的基础依然坚固,是理解现代Web开发的基石。

    ruby on rails 3

    Ruby on Rails 3 是一个基于Ruby编程语言的开源Web应用程序框架,它遵循MVC(Model-...提供的文档如"Ruby192和Rails3.0.3的新征程.doc"和"rails3入门教程.pdf"等,将有助于深入理解这一框架及其在实际项目中的应用。

    Rails 4 Test Prescriptions

    3. **构建高效测试套件**:书中不仅提供了一般性的指导原则,还包含了大量具体的案例研究,展示了如何为Rails应用程序创建既有效又高效的测试套件。这包括但不限于如何组织测试代码、如何利用RSpec特性来简化测试...

    Beginning.Rails.3

    - 理解Ruby on Rails的核心理念和设计模式。 - 掌握使用Rails 3框架进行Web开发的基本技能。 - 能够独立构建功能完备的Web应用程序。 - 学会如何部署和维护Rails应用。 - 对Rails 3中的高级特性和最佳实践有所了解。...

    关于rails 3.1 cucumber-rails 1.2.0

    通过这种方式,Cucumber-Rails帮助团队确保代码按照预期运行,同时提供了一种非技术人员也能理解的测试文档。 在`support`目录下,开发者可以放置一些辅助文件,例如World类(用于扩展Cucumber的上下文)、Hooks...

    rails2-sample

    本书旨在为初学者提供深入理解Ruby on Rails框架的指南,从基础概念到高级主题均有涵盖,是学习Ruby on Rails的理想选择。 ### 重要知识点概览 #### 1. Introducing Ruby on Rails(介绍Ruby on Rails) 这一章节...

    Rails项目源代码

    这个Rails项目提供了学习和研究Web开发的机会,特别是对于Ruby on Rails新手,可以通过阅读和理解源代码来提升技能,了解实际应用中Rails的用法。同时,对于有经验的开发者,这个项目也可以作为一个起点,进行二次...

    Rails

    标签 "工具" 可能意味着讨论到了与Rails开发相关的工具,如集成开发环境(IDEs)、包管理器(如Bundler)、测试框架(如RSpec和Capybara)、调试工具等,这些工具能提升开发效率和代码质量。 压缩包子文件的文件...

    learing rails 3

    考虑到Rails社区非常活跃,许多新特性都是在旧特性的基础上改进的,因此,了解Rails 3对于理解后续版本的变迁会很有帮助。 Rails框架以其MVC(模型-视图-控制器)架构闻名,这个架构帮助开发者组织代码,使应用的...

    rails指南 中文版

    Rails指南中文版是针对Ruby on Rails框架的一份详尽教程,旨在帮助开发者深入理解并熟练掌握这个强大的Web应用开发工具。Ruby on Rails(简称Rails)是一个基于Ruby语言的开源Web应用框架,它遵循MVC(Model-View-...

    Go-testfixtures-一个辅助工具用于实现类似Rails的测试装置来测试数据库应用程序

    `Go-testfixtures` 是一个专门针对数据库应用的测试辅助工具,它借鉴了Rails框架中的测试装置(Test Fixtures)概念,帮助开发者更有效地进行数据库相关的单元测试和集成测试。 测试装置在测试领域通常指的是在测试...

Global site tag (gtag.js) - Google Analytics