我决定尝试使用存根,因为我听说他们会让我的测试运行得更快:
他们离开了这个:
it "should create a new instance given a valid attribute" do
User.create!(@attr)
end
it "should require a name" do
no_name_user = User.new(@attr.merge(:name => ""))
no_name_user.should_not be_valid
end
it "should require an email address" do
no_email_user = User.new(@attr.merge(:email => ""))
no_email_user.should_not be_valid
end
对此:
it "should create a new instance given a valid attribute" do
user = FactoryGirl.build_stubbed(:user, @attr)
user.should be_valid
end
it "should require a name" do
no_name_user = FactoryGirl.build_stubbed(:user, @attr.merge(:name => ""))
no_name_user.should_not be_valid
end
it "should require an email address" do
no_email_user = FactoryGirl.build_stubbed(:user, @attr.merge(:email => ""))
no_email_user.should_not be_valid
end
但要跑10秒钟。我的整个套房总共需要5分钟。我希望通过这种方式提高速度。
答案 0 :(得分:0)
这种情况正在发生,因为我在spec_helper.rb中包含了VCR,EmailSpec,DataBaseCleaner和其他一些东西。
tiered spec helper解决了这个问题。