Q&A
以下のように、user3名とその関連データを一式作りたいとします。
ruby
1before do 2 user1 = create(:user) 3 create(:profile, user_id: user1.id) 4 create(:image, user_id: user1.id) 5 create(:birthday, user_id: user1.id) 6 7 user2 = create(:user) 8 create(:profile, user_id: user2.id) 9 create(:image, user_id: user2.id) 10 create(:birthday, user_id: user2.id) 11 12 user3 = create(:user) 13 create(:profile, user_id: user3.id) 14 create(:image, user_id: user3.id) 15 create(:birthday, user_id: user3.id) 16 17 create(:article, user_id: user1.id) 18 create(:article, user_id: user2.id) 19 create(:article, user_id: user3.id) 20end
上記だと冗長なので以下のようにしたいと思いました。
ruby
1def create_user 2 user = create(:user) 3 create(:profile, user_id: user.id) 4 create(:image, user_id: user.id) 5 create(:birthday, user_id: user.id) 6end 7 8before do 9 user1 = create_user 10 user2 = create_user 11 user3 = create_user 12 13 create(:article, user_id: user1.id) 14 create(:article, user_id: user2.id) 15 create(:article, user_id: user3.id) 16end
このcreate_user
メソッドを別のファイルのspecとも共通化したいと思いました。
rspecはsupports
というディレクトリに共通処理を書くっぽいんですが、modelでよく使われるconcerns
を使って共通化してもよいのでしょうか?
あなたの回答
tips
プレビュー