2
我有一个用户的工厂是这样的:发现错误
FactoryGirl.define do
factory :user do
email "[email protected]"
password "123456789"
end
end
我试图为用户创造一个规范:
describe User do
it "should create a user with password" do
user = FactoryGirl.create(:user, password: "secret")
user.password.should == "secret"
end
end
当我运行测试,我得到这样的信息:
1) User should create a user with password
Failure/Error: user = FactoryGirl.create(:user, password: "secret")
ActiveRecord::RecordInvalid:
is invalid
# ./spec/models/user_spec.rb:3:in `block (2 levels) in <top (required)>'
# -e:1:in `<main>'
问题是:如何发现模型中哪些字段是无效的?换句话说,如何在模型中打印错误消息?
如果我没有误解你在说什么,那么建立记录时就不可能得到错误,因为构建不应触发.save!在记录上。如果你的记录触发.save!在创造新纪录的时候,你可能会做出一些非常错误的事情。 –