【FactoryBot】【trait】を使って、わかりやすくテストデータをつくる
はじめに
Traitsを使うと、
let!(:words_starting_with_ruby) { create_list(:product_suggest, 6, :ruby) }
let!(:word_starting_with_rails) { create(:product_suggest, :rails) }
let!(:api_key) { Rails.application.credentials.api[:API_KEY] }
上の
create_list(:product_suggest, 6, :ruby)
や
create(:product_suggest, :rails)
の:ruby, :railsといったようにステータスを指定してテストデータを作ることができ、使いやすい。
定義
spec/factories/product_suggests.rb
FactoryBot.define do
factory :product_suggest, class: "Product::Suggest" do
trait :ruby do
sequence(:keyword, "ruby-keyword_1")
end
trait :rails do
keyword { "rails-keyword" }
end
end
end
trait :ruby do
sequence(:keyword, "ruby-keyword_1")
end
FactoryBot.define do
factory :product_suggest, class: "Product::Suggest" do
trait :ruby do
sequence(:keyword, "ruby-keyword_1")
end
trait :rails do
keyword { "rails-keyword" }
end
end
end
trait :ruby do
sequence(:keyword, "ruby-keyword_1")
end
などのようにステータスごとの内容を定義する。
ちなみに、
sequence(:keyword, "ruby-keyword_1")
とすると、データ作成毎に末尾の数値がインクリメントする。
終わりに。
最後まで読んで頂きありがとうございます
転職の為、未経験の状態からRailsを学習しております。正しい知識を着実に身に着け、実力のあるエンジニアになりたいと考えています。継続して投稿していく中で、その為のインプットも必然的に増え、成長に繋がるかと考えています。
今現在、初心者だからといって言い訳はできないですが、投稿の内容に間違っているところや、付け加えるべきところが多々あるかと思いますので、ご指摘頂けると幸いです。この記事を読んで下さりありがとうございました。
Author And Source
この問題について(【FactoryBot】【trait】を使って、わかりやすくテストデータをつくる), 我々は、より多くの情報をここで見つけました https://qiita.com/waniwaninowani/items/00dd1445ad9efb037193著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .