前几日摸了一下model的测试,不得其要点,老是在写测试不知如何下手,后阅遍大小论坛,总结一下测试方法呢,于是便模仿敏捷开发一书中的关于登录一章,写了如下测试代码
model代码
require "digest/sha2"
class User < ActiveRecord::Base
attr_accessible :name,:password,:password_confirmation
validates :name,:presence =>true,:uniqueness => true
validates :password,:confirmation =>true
attr_accessor :password_confirmation
attr_reader :password
validate :password_must_be_present
def password=(password)
@password = password
if password.present?
generate_salt
self.hashed_password = self.class.encrypt_password(password,salt)
end
end
def User.authenticate(name,password)
if user == find_by_name(name)
if user.hashed_password == encrypt_password(password,user.salt)
user
end
end
end
private
def password_must_be_present
errors.add(:password,"密码错误")unless hashed_password.present?
end
def User.encrypt_password(password,salt)
Digest::SHA2.hexdigest(password + "wibble" + salt)
end
def generate_salt
self.salt= self.object_id.to_s + rand.to_s
end
end
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
创新互联是一家专业提供
东源企业网站建设,专注与
网站设计、成都网站设计、
html5、小程序制作等业务。10年已为东源众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
当前名称:学习札记——运用Rspec+factory_girl进行model测试-创新互联
转载源于:
http://kswjz.com/article/ccidco.html