RSpec - 如何在每个测试之前运行FactoryGirl.create,除了描述块中的一个

时间:2013-09-04 22:21:36

标签: ruby-on-rails rspec

我有RSpec测试,在一个描述块中,我使用FactoryGirl在(:each)测试之前创建模型。对于我描述块中的一个测试,我想创建一个具有不同属性的Factory。有什么想法最好的吗?

1 个答案:

答案 0 :(得分:1)

您可以在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