[RUBY] [Rails] Préparez les données factices à utiliser pour les tests [Faker]

introduction

Lors des tests avec RSpec, etc., les données peuvent être préparées à l'avance avec FactoryBot, etc., mais à ce moment-là, j'écrirai sur la façon d'utiliser Faker qui crée bien des données aléatoires.

Préparation

Installez simplement la gemme.

Gemfile


group :development, :test do
  #(Omis)
  gem 'faker'
end

Terminal


$ bundle install

Comment utiliser

Vous pouvez saisir Faker :: [genre]. [Titre etc.] dans le fichier rb. Veuillez consulter la Référence officielle pour voir ce qui est disponible.

Les échantillons sont alignés dans le README, il vous suffit donc de cliquer sur celui que vous souhaitez utiliser et de l'utiliser comme indiqué dans le lien. 278199070c4abe565b7f1ecb13ca831c.png

C'est difficile à comprendre à moins que vous ne l'essayiez, je vais donc l'utiliser. Cette fois, j'aimerais utiliser des films. Cliquez sur Films dans README pour accéder à la colonne Films sur la même page, comme illustré ci-dessous. 25cbc0c934fbfedd13009afd6e7fb9ff.png Cette fois, nous utiliserons Faker :: movie. Cliquez sur Faker :: movie pour accéder à la page de détails. 9c862c81313fa7018403ab0fb7212a8e.png Si vous l'écrivez exactement comme il est écrit sur cette page, il obtiendra les données au hasard. Essayons d'obtenir le titre du film avec Faker :: Movie.title.

Vérifiez sur la console.

Terminal


$ rails c
95008ab8d5f596fb880f99867f2cab20.png

Vous l'obtiendrez comme ça.

C'est intéressant car il existe des données telles que Pokemon et Star Wars. 3b3af87aaeeec64d399f9f9819055435.png b03d65bc4ae23c1a32f8c04b8bf6266e.png

Comment utiliser avec FacrotyBot

Lorsque vous utilisez FactoryBot, vous pouvez écrire comme ci-dessous.

book.rb


FactoryBot.define do

  factory :book do
    title     { Faker::Book.title }
    author    { Faker::Book.author }
    publisher { Faker::Book.publisher }
  end

end

De même, si vous utilisez un fichier de départ, vous pouvez créer de manière aléatoire diverses données initiales.

Recommended Posts

[Rails] Préparez les données factices à utiliser pour les tests [Faker]
Générer des données factices pour divers tests avec Faker (java)
[RubyOnRails] Pour quel type de données active_hash doit-il être utilisé?
Options pour les rails nouveaux et réglages à effectuer après les rails neufs
[Rails] Différentes façons de supprimer des données
[Rails 6] cocoon_ Ajouter des attributs d'identifiant et de données au formulaire à ajouter
Préparer l'environnement de contrôle de sécurité pour Rails 6
[Rails] Gérez les données de chaque fichier de départ
Test des messages d'erreur: Notes du didacticiel Rails - Chapitre 7
[Rails] Obtenir une entrée standard pour les données multilignes
[Android] Je souhaite créer un ViewPager pouvant être utilisé pour les didacticiels