1

スタブを使用するとテストが高速になると聞いたので、スタブを使用することにしました。

彼らはこれから行きました:

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 分かかります。私はこれを行うことによる速度の向上を期待していました。

4

1 に答える 1