Il existe deux types de tests: les tests unitaires et les tests d'intégration.
-Test de l'unité Un test pour voir s'il fonctionne correctement pour un programme. (Exemple) Pour chaque classe de modèle
-Test d'intégration 1 Test de traitement du lotus. (Exemple) Flux entre la saisie et l'envoi de valeurs à partir du nouvel écran d'enregistrement de l'utilisateur jusqu'à ce que les enregistrements soient ajoutés à la base de données
"Rspec" est un jem pour tester, "Factory_bot" crée temporairement des informations lors du test C'est un outil d'aide.
Par conséquent, installons-les tous en même temps.
①jemno Installation
Gemfile
group :development, :test do
  gem 'rspec-rails'
  gem 'factory_bot_rails'
end
Terminal
bundle install
(2) Installez la structure de fichiers / répertoires minimale requise de RSpec dans Rails
Terminal
$ rails g rspec:install
#>      create  .rspec                  #Fichier de configuration RSpec
#>      create  spec                    #Spécifications du magasin
#>      create  spec/spec_helper.rb     #Aide pour la description des spécifications
#>      create  spec/rails_helper.rb    #Description des spécifications spécifiques à Helper for Rails
 
Ajoutez les fichiers de répertoire requis ici.
③ Créez les fichiers nécessaires Voici un test de validation pour le modèle des utilisateurs J'irai.
◆ Fichier de test Le fichier dans spec / est 1 pour le fichier rb à tester sous app / Organisez une correspondance individuelle.
Les spécifications pour app / models / user.rb Ce sera spec / models / user_spec.rb.
◆ Fichier de données pour les tests (factory_bot) En plaçant l'usine dans les spécifications / usines Vous pouvez facilement utiliser les données de test.
④ Description du fichier
Défini de sorte que l'espace de noms puisse être omis.
spec/rails_helper.rb
RSpec.configure do |config|
+  config.include FactoryGirl::Syntax::Methods
end
.rspec
--format documentation
--require spec_helper
spec/models/user_spec.rb
spec/factories/users.rb
FactoryBot.define do
  factory :user do
    nickname               {"taro"}
    email                  {"[email protected]"}
    password               {"00000000"}
    password_confirmation  {"00000000"}
  end
end
⑤ Exécutez le test
Terminal
bundle exec rspec spec/models/user_spec.rb
        Recommended Posts