【发布时间】:2010-11-30 19:52:03
【问题描述】:
如果我想使用“create”构建策略创建和实例化,然后想使用“attributes_for”构建策略进行验证,是否可以这样做?如果我在工厂使用序列?在机械师宝石中可以吗?
【问题讨论】:
标签: ruby factory factory-bot machinist
如果我想使用“create”构建策略创建和实例化,然后想使用“attributes_for”构建策略进行验证,是否可以这样做?如果我在工厂使用序列?在机械师宝石中可以吗?
【问题讨论】:
标签: ruby factory factory-bot machinist
不太确定我是否完全理解。而且我不是机械师的用户。但听起来你只是想做这样的事情。
@attributes = FactoryGirl.attributes_for(:my_object)
my_object = MyObject.create(@attributes)
my_object.some_property.should == @attributes[:some_property]
【讨论】:
John Hinnegan 建议的解决方案是合理的,但您最好使用FactoryGirl.create 方法进行对象初始化,因为它通常会给您一个有效的对象。例如,如果您使用 MyObject.new,则不会调用 after(:create)。
@attributes = FactoryGirl.attributes_for(:my_object)
my_object = FactoryGirl.create(:my_object, @attributes)
expect(my_object.some_property).to eq @attributes[:some_property]
【讨论】:
感谢这篇文章,只是想补充一下,课程是FactoryGirl
@user_attributes = FactoryGirl.attributes_for(:super_user)
【讨论】: