1

我使用工厂女孩来定义这样的对象:

factory :event do
  #...
  category ['Life', 'Course', 'Speek'].sample
  #...
end

然后在 中spec/models/event_spec.rb,我有这个:

before(:each) do
  @events = FactoryGirl.create_list(:event, 10, node: school) 
end
  #...
binding.pry   

但是当我用pry查看的时候@events,发现里面的都是event一样@eventscategory

我想知道为什么以及如何解决它?提前致谢。

4

1 回答 1

4

代码category ['Life', 'Course', 'Speek'].sample只运行一次(定义工厂时)。如果要在每次event创建或构建 an 时生成一个新类别,可以使用 a sequence,如下所示:

sequence(:category) { ['Life', 'Course', 'Speek'].sample }
于 2012-11-22T04:14:47.723 回答