【问题标题】:Is there a way in factory_girl to get attributes_for and create for the same instance element?factory_girl 有没有办法获取 attributes_for 并为同一个实例元素创建?
【发布时间】:2010-11-30 19:52:03
【问题描述】:

如果我想使用“create”构建策略创建和实例化,然后想使用“attributes_for”构建策略进行验证,是否可以这样做?如果我在工厂使用序列?在机械师宝石中可以吗?

【问题讨论】:

    标签: ruby factory factory-bot machinist


    【解决方案1】:

    不太确定我是否完全理解。而且我不是机械师的用户。但听起来你只是想做这样的事情。

    @attributes = FactoryGirl.attributes_for(:my_object)
    my_object = MyObject.create(@attributes)
    my_object.some_property.should == @attributes[:some_property]
    

    【讨论】:

      【解决方案2】:

      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]
      

      【讨论】:

        【解决方案3】:

        感谢这篇文章,只是想补充一下,课程是FactoryGirl

        @user_attributes = FactoryGirl.attributes_for(:super_user)
        

        【讨论】:

          猜你喜欢
          • 2011-07-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-19
          • 1970-01-01
          • 2011-02-15
          相关资源
          最近更新 更多