LoginSignup
0
0

More than 1 year has passed since last update.

【RSpec】ActiveRecordを継承しないクラスでFactoryBotを作成したい

Posted at

initialize_with

Rubyの任意のクラスでFactoryBotを作成したいときはinitialize_withを使う。

# user_info.rb
class UserInfo
  attr_accessor :hoge

  def initialize(hoge)
    @hoge = hoge
  end
end

# factories.rb
factory :user_info do
  hoge { Fuga.new }

  initialize_with { new(hoge) }
end

build(:user_info).hoge #Fugaクラスのインスタンスが返る

注意

create(:user_info)すると下記のエラーが出る。

NoMethodError:
  undefined method save!

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0