一,安装ruby。

二,运行命令,安装rspec的gem包:

gem install rspec

  会看到如下的结果:

Fetching: rspec-core-2.14.7.gem (100%)
Fetching: diff-lcs-1.2.5.gem (100%)
Fetching: rspec-expectations-2.14.5.gem (100%)
Fetching: rspec-mocks-2.14.6.gem (100%)
Fetching: rspec-2.14.1.gem (100%)
Successfully installed rspec-core-2.14.7
Successfully installed diff-lcs-1.2.5
Successfully installed rspec-expectations-2.14.5
Successfully installed rspec-mocks-2.14.6
Successfully installed rspec-2.14.1
5 gems installed

三,在纯ruby环境中使用rspec。

1,新建一个文件夹,随意命名为my_test。

2,在my_test下新建一个lib文件夹,lib文件夹下新建一个rb文件,例如bowling.rb。

3,在my_test下新建一个测试文件,命名为bowling_spec.rb,文件名一定要以_spec结尾。

4,在bowling.rb中写入如下代码:

# bowling.rb
class Bowling
def hit(pins)
end def score
0
end
end

5,在为bowling_spec.rb中写入如下测试代码:

# bowling_spec.rb
require 'bowling' describe Bowling, "#score" do
it "returns 0 for all gutter game" do
bowling = Bowling.new
20.times { bowling.hit(0) }
bowling.score.should eq(0)
end
end

6,运行命令,进行测试:

$ rspec bowling_spec.rb --format nested

Bowling#score
returns 0 for all gutter game Finished in 0.007534 seconds 1 example, 0 failures

四,rails中使用rspec。

1,安装gem包,运行命令:

gem install rspec-rails

会看到如下的结果:

Fetching: i18n-0.6.9.gem (100%)
Fetching: minitest-4.7.5.gem (100%)
Fetching: atomic-1.1.14.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
Fetching: thread_safe-0.1.3.gem (100%)
Fetching: activesupport-4.0.3.gem (100%)
Fetching: builder-3.1.4.gem (100%)
Fetching: rack-1.5.2.gem (100%)
Fetching: actionpack-4.0.3.gem (100%)
Fetching: rspec-rails-2.14.1.gem (100%)
Successfully installed i18n-0.6.9
Successfully installed minitest-4.7.5
Successfully installed atomic-1.1.14
Successfully installed thread_safe-0.1.3
Successfully installed activesupport-4.0.3
Successfully installed builder-3.1.4
Successfully installed rack-1.5.2
Successfully installed actionpack-4.0.3
Successfully installed rspec-rails-2.14.1
9 gems installed

2,创建一个rails工程,进入工程目录,执行如下命令:

rails generate rspec:install

如果提示:Could not find generator rspec:install.

请看http://www.nujk.com/could-not-find-generator-rspec-install

这个时候,就会创建了spec的文件夹。

3,使用脚手架新建一个model文件:

rails generate model bowling

会看到如下执行结果:

invoke active_record
create db/migrate/20140224132433_create_bowlings.rb
create app/models/bowling.rb
invoke rspec
create spec/models/bowling_spec.rb

 这个时候会发现,自动为bowlings.rb创建了对应的spec/models/bowling_spec.rb文件。

4,在bowlings.rb中添加一个方法:

class Bowling < ActiveRecord::Base
# attr_accessible :title, :body
def self.my_function()
return "this is function for test rspec"
end
end

5,在spec/models/bowling_spec.rb文件中为新加的方法写一个测试例子:

require 'spec_helper'

describe Bowling do
#pending "add some examples to (or delete) #{__FILE__}"
it "shoud execute my_function" do
Bowling.my_function().should == "this is function for test rspec"
end
end

6,执行rspec测试

在rails工程目录下,执行:

rspec .\spec\models\bowling_spec.rb

这个时候会打印:

Finished in 0.02 seconds
1 example, 0 failures Randomized with seed 13492

结束:

以上仅仅是最基本的rspec安装步骤。对于rspec的详细请参见https://github.com/rspec/rspec-rails

安装使用rspec的更多相关文章

  1. rspec的一些常见用法

    这里讲了如何安装rspec,安装使用rspec. 下面介绍一下rspec中常见的使用方法. 下面是一个最简单的测试用例,判断true是不是等于true,should_be是旧的用法,新用法推荐使用ex ...

  2. rspec学习02

    元数据 RSpec-core存储元数据哈希每实例和组,其中包含他们的描述,声明的位置等等,这个hash控制很多RSpec核心的功能,包括输出格式化程序(访问描述和位置),和before,after钩子 ...

  3. 用rspec执行自动化测试用例

    rspec是一款行为驱动开发(BDD)的工具,不过在这里用于测试,准确来说应该是测试驱动开发(TDD)吧.事实上我也没搞清楚.作为初学者不清楚就不清楚吧,以后会知道的.写博客无非就是写写学习笔记,不纠 ...

  4. Ruby(Selenium / Rspec)在Windows 8_64上安装步骤

    1.首先需要下载RubyInstaller.exe程序(下载地址随便都能找到). 如:rubyinstaller-2.2.2-x64.exe 安装好Ruby后,需要更新Gems gem update ...

  5. ruby rspec安装

    在rubymine里新建Rails application

  6. cucumber:环境安装

    1.安装RubyInstallerhttp://rubyinstaller.org/downloads/注意:安装目录结构不要太深安装完成后在命令行运行: ruby –v 可以查看是否安装成功2.安装 ...

  7. CentOS 6.x安装Metasploit

    现在开始安装Metasploit框架,前面的包安装成功之后,我们需要再安装一些Metasploit依赖的Ruby库,命令如下: gem install wirble pg sqlite3 msgpac ...

  8. rspec+rest-client测试第三方web service

    如果你手工测试Restful 服务将会是一件非常单调乏味的事情.当然,目前有一些浏览器插件可以通过可视化的界面帮助你手工测试,例如postman.rest console,但是每次系统版本更新,你都需 ...

  9. Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例

    Selenium WebDriver + Grid2 + RSpec之旅(四) ----通过RSpec编写测试用例 自动化测试和手工测试一样,是要有测试用例,有检查点和测试结果的,接下来我们通过RSp ...

随机推荐

  1. 内省—beanutils工具包

    Apache组织开发了一套用于操作JavaBean的API,这套API考虑到了很多实际开发中的应用场景,因此在实际开发中很多程序员使用这套API操作JavaBean,以简化程序代码的编写. BeanU ...

  2. Win2008或IIS7的文件上传大小限制解决方案

    默认情况下,IIS7的上传限制为200K.当上传文件小于30M时,可以通过如下方法设置:在iis7中找到asp设置,在“asp”的“限制属性”中最后一行“最大请求主体限制”,修改该值为你所想要的,如2 ...

  3. [原创]大连sap vt 实习生面试经历

    从决定参加这次面试开始,求职生涯就算是开始了,虽然失败了,但也是亲身体会到了面试的感觉,这次经历也作为第一篇博客. 大连sap的职能是sap的全球技术支持中心和解决方案提供中心.VT项目提供的岗位是技 ...

  4. Java后台工程师面试杂记——不跳不涨工资星人跳槽经历

    经过接近一个月的时间,完成换工作这件“小事”,前后总计面试了多家公司,最后也没接到几个offer,不过最终总算尘埃落定,就对这个过程进行一个总结吧. 在某互联网公司工作了近一年的时间,但是频繁的业务需 ...

  5. [神器推荐]node-webkit:跨平台桌面web应用的神器,非常有用(转)

    11月8号在清华拍的银杏树 http://finalshares.com/read-931

  6. Laxcus大数据管理系统2.0(8)- 第六章 网络通信

    第六章 网络通信 Laxcus大数据管理系统网络建立在TCP/IP网络之上,从2.0版本开始,同时支持IPv4和IPv6两种网络地址.网络通信是Laxcus体系里最基础和重要的一环,为了能够利用有限的 ...

  7. SDUT 3344 数据结构实验之二叉树五:层序遍历

    数据结构实验之二叉树五:层序遍历 Time Limit: 1000MS Memory Limit: 65536KB Submit Statistic Problem Description 已知一个按 ...

  8. Duilib学习笔记《04》— 窗体显示

    在前面已经了解了duilib控件以及界面布局相关内容,接下来就要考虑该如何将xml中描述的布局通过界面展现出来.实际上在 Duilib学习笔记<01> 中我们已经简单提到过基本的流程及元素 ...

  9. javascript 实现HashTable(哈希表)

    一.javascript哈希表简介 javascript里面是没有哈希表的,一直在java,C#中有时候用到了这一种数据结构,javascript里面若没有,感觉非常不顺手.细细看来,其实javasc ...

  10. 【缓存】利用Cache防止同一帐号重复登录

    需求概要 对于B/S应用系统中客户经常会提出同一帐号不能重复登录的需求,就是说,用某一帐号登录系统后,在系统不超时的情况下,任何人都不能再用目前已登录的帐号登录系统.包括我目前的项目中同样有这一需求. ...