【Rails】テストに使うダミーデータを用意する【Faker】
はじめに
RSpecなどでテストする際に、FactoryBotなどであらかじめデータを用意することがありますが、その際にランダムデータをいい感じに作ってくれるFakerの使い方について書いていきます。
準備
gemをインストールするだけです。
group :development, :test do
# (略)
gem 'faker'
end
$ bundle install
使い方
rbファイル内でFaker::[ジャンル].[タイトルなど]
と入力すればOKです。
どんなものが用意されているかは公式リファレンスから確認してみてください。
READMEのとこにサンプルが並んでるので、使いたいものをクリックしてリンク先の表示どおりに使うだけです。
使ってみないとわかりにくいので実際に使ってみます。
今回はMoviesを使ってみたいと思います。READMEのMoviesをクリックすると下のように同一ページのMovies欄に飛びます。
今回はFaker::movie
を使います。
Faker::movie
をクリックして詳細ページに飛びます。
このページに書かれているとおりに記述すれば、ランダムにデータを取得してくれます。
試しにFaker::Movie.title
で映画のタイトルを取得してみましょう。
コンソールで確かめます。
$ rails c
こんな感じで取得してくれます。
ポケモンやスターウォーズなんかのデータもあるので面白いです。
FacrotyBotでの使い方
FactoryBotを使う時は下のように書けばOKです。
FactoryBot.define do
factory :book do
title { Faker::Book.title }
author { Faker::Book.author }
publisher { Faker::Book.publisher }
end
end
同様にseedファイルなんかでも使えば初期データをランダムにいろいろ作成できたりします。
Author And Source
この問題について(【Rails】テストに使うダミーデータを用意する【Faker】), 我々は、より多くの情報をここで見つけました https://qiita.com/koki_73/items/60c2441fb873a8db35d5著者帰属:元の著者の情報は、元の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 .