0

我有一个 FactoryGirl 工厂,它为 ActiveRecord::Base 类定义了一些默认值。除了一个之外的所有值都进入了实例化类,除了一个。

这是我的工厂:

FactoryGirl.define do
  factory :office, :class => Office do
    open_date '03/01/2011'
    set_up_date '04/28/2011'
    type_code 'D'
  end

  after(:build) do |office|
    puts "Office open_date: #{office.open_date}"
    puts "Office set_up_date: #{office.set_up_date}"
  end
end

这是我的基类:

class Office < ActiveRecord::Base
end

当我执行 FactoryGirl.build :office 时,我得到以下输出:

Office open_date: 2011-01-03 00:00:00 -0500
Office set_up_date:

这两列都是数据库上的 DATE 数据类型。出于某种原因,只有 open_date 被填充到基类中。到目前为止,我还无法确定原因。由于我只是调用构建,我想我可以安全地假设数据库触发器没有任何干扰。

有什么想法会导致 set_up_date 不在类实例上填充?

版本:

activemodel (3.2.11)
activerecord (3.2.11)
activerecord-oracle_enhanced-adapter (1.4.1)
activesupport (3.2.11)
factory_girl (4.2.0)

JRuby 1.7.2 (Running Ruby in 1.9 mode)

谢谢

4

1 回答 1

1

只是出于好奇,您会尝试set_up_date '28/04/2011'代替04/28/2011吗?它看起来像根据以下内容FactoryGirl理解您的输入:DD/MM/YYYY

Office open_date: 2011-01-03 00:00:00 -0500

看到01-03而不是03-01那里?

于 2013-02-10T08:23:18.097 回答