Dan*_*ier 2 testing activerecord rspec ruby-on-rails factory-bot
我有这样的用户工厂:
FactoryGirl.define do
factory :user do
email "email@x.com"
password "123456789"
end
end
Run Code Online (Sandbox Code Playgroud)
我正在尝试为用户创建规范:
describe User do
it "should create a user with password" do
user = FactoryGirl.create(:user, password: "secret")
user.password.should == "secret"
end
end
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我收到此消息:
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>'
Run Code Online (Sandbox Code Playgroud)
问题是:如何发现模型中哪些字段无效?换句话说,如何在模型中打印错误消息?
小智 6
您可以随时暂时将测试更改为:
user = FactoryGirl.build(:user, password: "secret")
Run Code Online (Sandbox Code Playgroud)
然后检查user.valid?
和user.errors
归档时间: |
|
查看次数: |
1893 次 |
最近记录: |