我正在尝试为用户模型创建一个测试用例。基本上,它会验证first_name和last_name是否存在。Rails 3.1 Rspec为模型创建测试用例验证字段
我想要做的是检查特定字段上的错误是否为空,它应该是空的。但它总是失败。
这样做的正确方法是什么?
这里是我的代码
在我user_spec.rb
require 'spec_helper'
describe User do
before do
@user = User.new
end
it "must have a first name" do
@user.errors[:first_name].should_not be_empty
end
it "must have a last name" do
@user.errors[:last_name].should_not be_empty
end
end
在我user.rb文件
class User < ActiveRecord::Base
validates :first_name, :presence => true
validates :last_name, :presence => true
end
Upvoted for future viewingers。应用程序匹配器对测试验证更优雅。 – MikeH
而不是使用'it“来描述应该...”do“最好使用'it {should validate_presence_of:firstname}' – morgents
我根据@moregeek提出的新的更好的语法更新了答案 – jake