Ruby on rails RSpec-如何在每次测试之前运行FactoryGirl.create,描述块中的测试除外

Ruby on rails RSpec-如何在每次测试之前运行FactoryGirl.create,描述块中的测试除外,ruby-on-rails,rspec,Ruby On Rails,Rspec,我有RSpec测试,在一个描述块中,我使用FactoryGirl在(:每个)测试之前创建一个模型。对于descripe块中的一个测试,我想创建一个具有不同属性的工厂。您知道如何最好地做到这一点吗?您可以在before(:each)中创建对象,并在测试中更改需要它的同一对象的属性 describe "test" do before(:each) do @model = FactoryGirl.create(:model) end it "should do something"

我有RSpec测试,在一个描述块中,我使用FactoryGirl在(:每个)测试之前创建一个模型。对于descripe块中的一个测试,我想创建一个具有不同属性的工厂。您知道如何最好地做到这一点吗?

您可以在before(:each)中创建对象,并在测试中更改需要它的同一对象的属性

describe "test" do
  before(:each) do
   @model = FactoryGirl.create(:model)
  end

  it "should do something" do
    @model.update_attribute(:attribute, :value)
  end
end
另一种方式:

   describe "test" do
      before(:each) do
       @model = FactoryGirl.create(:model)
      end

      it "should do something" do
        model1 = FactoryGirl.create(:model, :attribute1 => "value")
      end
    end

谢谢你的反馈。然而,我实际上需要在创建FactoryGirl对象之前更新这些属性。有没有办法做到这一点?创建另一个对象,该对象的属性在需要它的测试中是您所需要的。参见编辑