我是铁杆新手。 FactoryGirl更新。
我有这样的模特。
class Manifest < ActiveRecord::Base
serialize :scopes, Array
:app_description
:app_name
:app_id
:app_verson
:dev_id
:callback
:manifest_ver
:signed_jwt
:scopes
validates :app_name, presence: true
validates :callback, presence: true
我有这样的工厂。
factory(:manifest) do
callback "some callback"
app_name "cool birds"
end
关于上述模型的规范是这样的。
describe Manifest do
describe "validation" do
describe "of object from fractory" do
it "must be ok" do
FactoryGirl.build(:manifest).should be_valid
end
end
end
end
所以我期待这个测试通过。但它没有给出这个输出。
1) Manifest validation of object from fractory must be ok
Failure/Error: FactoryGirl.build(:manifest).should be_valid
expected #<Manifest id: nil, dev_id: nil, app_id: nil, app_description: nil, app_name: "cool birds", app_version: nil, manifest_ver: nil, callback: nil, signed_jwt: nil, scopes: [], created_at: nil, updated_at: nil> to be valid, but got errors: Callback can't be blank
它说Callback不能为空。 似乎FactoryGirl忽略属性“callback”的值。
当规范更改为FactoryGirl.build(:manifest, callback: "some callback").should be_valid
时,它有效!测试通过了。
FactoryGirl适用于我的模型中的任何其他属性,但“回调”。为什么?我或这个名为“回调”的属性做了什么错?我该怎么做才能找出问题所在。