Ruby on Rails Tutorial Chapter10 FactoryGirlを使って/使わないで書くRSpec
前準備
# spec/factory.rb FactoryGirl.define do factory :user do sequence(:name) { |n| "Person#{n}"} sequence(:email) { |n| "Person_#{n}@example.com"} password "foobar" password_confirmation "foobar" factory :admin do admin true end end factory :micropost do content "Lorem ipsum" user end end
RSpec
describe User do let(:user) { User.new(name: "Example User", email:"foo@example.com", password: "foobar", password_confirmation: "foobar") } subject { user } # ここにかく end
FactoryGirlを使う
describe "micropost associations" do before { subject.save } let!(:older_micropost) do FactoryGirl.create(:micropost, user: subject, created_at: 1.day.ago) end let!(:newer_micropost) do FactoryGirl.create(:micropost, user: subject, created_at: 1.hour.ago) end … end
FactoryGirlを使わない
describe "micropost associations" do before { subject.save } let!(:older_micropost) do user.microposts.create!(content: "Lorem ipsum", created_at: 1.day.ago) end let!(:newer_micropost) do user.microposts.create!(content: "Lorem ipsum", created_at: 1.hour.ago) end … end