rails 6.0.3.4 ruby 2.6.5
・ Objectif du test unitaire du modèle, quoi tester ・ Préparation pour l'installation de RSpec (installation des gemmes requises) Je vais expliquer de cette manière.
En conclusion, pour garder le code maintenable. Évidemment, vous ne voulez pas de bogues dans votre application publiée. Il peut y avoir une erreur inattendue de confirmation manuelle de l'absence de bogue, donc si vous écrivez un test fiable, même s'il y a un changement dans le code, vous pouvez dire manuellement "OK car le test a réussi" Cela signifie que vous pouvez éviter de vérifier le comportement.
① Validation Lors de l'enregistrement des valeurs dans la base de données, définissez des règles telles que "Ne pas enregistrer les valeurs vides", "Nombre maximum de caractères", "Enregistrer uniquement les nombres", "Convertir les lettres majuscules et minuscules en lettres minuscules". En effet, il n'est pas souhaitable pour la conception de base de données de stocker des valeurs non régulières. La validation du modèle est le moyen de définir cette règle côté rails. Par conséquent, le test du modèle vérifie que la validation fonctionne correctement.
② Méthode Vous pouvez définir vos propres méthodes pour le modèle qui représentent le comportement du modèle. Ceci est également difficile à tester manuellement, alors intégrez-le dans le test.
③ Autre Le rôle du modèle est la «définition de l'association». L'association elle-même étant définie côté rails, il semble qu'il ne soit pas nécessaire de la tester en particulier, mais lors de la suppression des données d'un certain modèle, la suppression du modèle associé est également incluse dans le test.
Commençons par les paramètres RSpec. Exécutez la commande suivante.
% bin/rails generate rspec:install
Ensuite, le générateur génère le fichier de paramètres rspec et enregistre le dossier comme indiqué ci-dessous.
Running via Spring preloader in process 28211
create .rspec
create spec
create spec/spec_helper.rb
create spec/rails_helper.rb
Ouvrez le fichier .rspec et apportez les modifications suivantes: Cela permet de sortir un affichage clair des résultats de l'exécution du test.
.rspec
--require spec_helper
--format documentation
Vient ensuite l'installation de la gemme.
Gemfile
group :development, :test do
gem 'factory_bot_rails'
gem 'rspec-rails', '~> 4.0.0'
#Omis ci-dessous
end
group :development do
gem 'spring-commands-rspec'
#Omis ci-dessous
end
Le dernier'pring-commands-rspec 'est un binstub pour le lanceur de test RSpec. Cela bénéficiera du ressort, qui accélère le démarrage de l'application. Si vous ne souhaitez pas utiliser Spring, ignorez-le. Enfin, il reste un élément à définir. Définissons Rails de sorte que le fichier de spécifications pour RSec soit créé lorsque la commande rails g est exécutée. Évitez également de générer des fichiers inutiles. Ouvrez config / application.rb et modifiez-le comme suit.
config/application.rb
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.generators do |g|
g.test_framework :rspec,
view_specs: false,
helper_specs: false,
routing_specs: false
end
end
Ceci termine les paramètres d'installation de RSpec!
Recommended Posts