Ruby on rails RSpec-如何在每次测试之前运行FactoryGirl.create,描述块中的测试除外
我有RSpec测试,在一个描述块中,我使用FactoryGirl在(:每个)测试之前创建一个模型。对于descripe块中的一个测试,我想创建一个具有不同属性的工厂。您知道如何最好地做到这一点吗?您可以在before(:each)中创建对象,并在测试中更改需要它的同一对象的属性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"
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对象之前更新这些属性。有没有办法做到这一点?创建另一个对象,该对象的属性在需要它的测试中是您所需要的。参见编辑