FactoryGirl不会设置属性

时间:2013-11-14 16:03:03

标签: ruby-on-rails factory-bot

我是铁杆新手。 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适用于我的模型中的任何其他属性,但“回调”。为什么?我或这个名为“回调”的属性做了什么错?我该怎么做才能找出问题所在。

0 个答案:

没有答案