工厂女孩对象有很多通过和存在验证

时间:2016-12-16 13:32:10

标签: ruby-on-rails ruby validation rspec factory-bot

我有一个名为Beats的模型,它包含名称,状态,组,所有者等字段。我正在使用R Spec编写测试并使用Factory Girl进行模拟,我正面临运行规范的问题,因为 ActiveRecord :: RecordInvalid:验证失败:节拍类型不能为空,我发出错误,我是验证表单的所有字段的存在,有一个BeatType值的下拉列表,它在运行规范时也被调用,是什么方式将它包含在Factory of Beat中?

class Beat < ActiveRecord::Base
has_many :beat_beat_types
has_many :beat_types, through: :beat_beat_types

validates :name,:status,:group,:owner,:beat_types presence: true, length: {maximum: 255}
end

class BeatType < ActiveRecord::Base
has_many :beat_beat_types
has_many :beats, through: :beat_beat_types
end

class BeatBeatType < ActiveRecord::Base
belongs_to :beat
belongs_to :beat_type
end


Factory_File of beat

FactoryGirl.define do
factory :beat do
  name
  status
  group
  owner
end
end

1 个答案:

答案 0 :(得分:1)

你能否尝试使用

FactoryGirl.define do
  factory :beat do
  name
  status
  group
  owner
  beat_types { build_list :beat_type, 1 }
end