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