rspec的一些常见用法
这里讲了如何安装rspec,安装使用rspec。
下面介绍一下rspec中常见的使用方法。
下面是一个最简单的测试用例,判断true是不是等于true,should_be是旧的用法,新用法推荐使用expect()
- it "is true when true" do
- true.should be_true
- end
#新用法
- it "is true when true" do
- expect(true).to be_true
- end
一,测试models中的方法
1,测试实例方法
- #spec/models/contact_spec.rb
def name
[firstname, lastname].join(' ')
end
- #spec/models/contact_spec.rb
- it "returns a contact's full name as a string" do
- contact = Contact.new(firstname: 'John', lastname: 'Doe',
- email: 'johndoe@example.com')
- expect(contact.name).to eq 'John Doe'
- end
测试相等时,RSpec 推荐使用 eq 而不是 ==。
2,测试类方法和作用域
- #spec/models/contact_spec.rb
- def self.by_letter(letter)
- where("lastname LIKE ?", "#{letter}%").order(:lastname)
- end
- require 'spec_helper'
- describe Contact do
- # earlier validation examples omitted ...
- it "returns a sorted array of results that match" do
- smith = Contact.create(firstname: 'John', lastname: 'Smith',
- email: 'jsmith@example.com'),
- jones = Contact.create(firstname: 'Tim', lastname: 'Jones',
- email: 'tjones@example.com'),
- johnson = Contact.create(firstname: 'John', lastname: 'Johnson',
- email: 'jjohnson@example.com')
- expect(Contact.by_letter("J")).to eq [johnson, jones]
- end
- end
使用下面代码来检测返回值中是否没有包含联系人 smith
- expect(Contact.by_letter("J")).to_not include smith
3,捕获异常
- expect {
- result = UI::ApplinkSqlBackup.get_sql_server_info(header, input)
- }.to raise_error(Esfbase::EsfStandardError)
将可能发生异常的代码写在expect中,期待返回Esfbase::EsfStandardError类型的error
rspec的一些常见用法的更多相关文章
- Linux中find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
- Guava中Predicate的常见用法
Guava中Predicate的常见用法 1. Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...
- find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- iOS 开发多线程篇—GCD的常见用法
iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...
- iOS开发多线程篇—GCD的常见用法
iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...
- [转]EasyUI——常见用法总结
原文链接: EasyUI——常见用法总结 1. 使用 data-options 来初始化属性. data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我 ...
- NSString常见用法总结
//====================NSStirng 的常见用法==================== -(void)testString { //创建格式化字符串:占位符(由一个%加一个字 ...
- [转]Linux中find常见用法示例
Linux中find常见用法示例[转]·find path -option [ -print ] [ -exec -ok command ] {} \;find命令的参 ...
随机推荐
- UVA 10892 - LCM Cardinality
Problem F LCM Cardinality Input: Standard Input Output: Standard Output Time Limit: 2 Seconds A pair ...
- CString.Format的详细用法(转)
CString.Format的详细用法(转) 在MFC程序中,使用CString来处理字符串是一个很不错的选择.CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串.CS ...
- Missing artifact com.sun:tools:jar:1.5.0:system 补充
转自:http://blog.csdn.net/sweblish/article/details/6662586 解决方案一: 原来,是${java.home}在作怪,eclipse 没有使用 JAV ...
- Html类ImageGetter接口
public class ImgLabelActivity extends Activity { private static final String TAG = "ImgLabelAct ...
- (旧)子数涵数·PS——替换颜色
一,老规矩,下载素材(老样子,还是美美的少女) 二.打开PS,并打开素材. 三.复制一个图层,快捷键Ctrl+J(好习惯) 四.使用"替换颜色"命令,弹出对话框. 五.选择人物衣服 ...
- 解决setInterval计时器不准的问题
在js中如果打算使用setInterval进行倒数,计时等功能,往往是不准确的,因为setInterval的回调函数并不是到时后立即执行,而是等系统计算资源空闲下来后才会执行.而下一次触发时间则是在s ...
- 学习总结 for循环--冒泡排序
//输入N个人的分数,按从高到低进行排序 Console.Write("请输入人数"); int n = int.Parse(Console.ReadLine()); int[] ...
- ASP.NET 数据库页面访问简单工具
在工作中,有很多项目已上线后,很多项目的数据库服务器都不会对外开放的,外网想直接访问客户数据库服务器时,可能会出现困难. 这时就需要一个可以查询,更新数据库操作的页面了: 本来用sql语句直接操作数据 ...
- 实用防火墙(Iptables)脚本分析
实用防火墙(Iptables)脚本分析 --Redhat,CentOS,Ubuntu等常见Linux发行版中都会预装Iptables防火墙,大多数初学者设置起来由于对这款软件比较陌生,设置起来比较困难 ...
- Oracle:安装中的注意事项
导读:Oracle数据库的安装,姑娘我也是醉了.从开发今日开讲后台系统前,我就一直在装,第一版都开发完了,我昨天静下心来,才终于装上.在这个过程中,出现了好些个问题,说起来都是泪呀.现在就总结总结这个 ...