Que dois-je utiliser pour le framework de test [Rails]

introduction

Pour le moment, j'ai publié l'application sur AWS l'autre jour, laissant le test et la mise en œuvre de la partie de sécurité détaillée comme un problème.

C'est pourquoi je l'ai publié en toute sécurité, mais je dois encore implémenter le test, alors j'ai enquêté sur le test.

À la suite de mes recherches, je suis arrivé à la conclusion qu'il est plus efficace d'apprendre d'abord RSpec.

Le contenu de l'enquête est énuméré ci-dessous.

Qu'est-ce qu'un test?

Pour qu'une application s'exécute sur un serveur de production, le code de cette application doit fonctionner comme spécifié et sans défauts (bogues).

Le test consiste à vérifier que le code de l'application fonctionne comme spécifié et à trouver les bogues.

En trouvant un bogue, nous le corrigeons (le débogage).

Référence: [https://ja.wikipedia.org/wiki/Software Test](https://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%95%E3%83%88 % E3% 82% A6% E3% 82% A7% E3% 82% A2% E3% 83% 86% E3% 82% B9% E3% 83% 88)

Cadre de test

Les tests sont exécutés sur ce qu'on appelle un framework de test.

Il existe différents frameworks de test utilisés dans les applications Rails.

Vous trouverez ci-dessous une liste de quelques frameworks de test, ainsi qu'un aperçu et des fonctionnalités.

Présentation de Minitest

Minitest est un framework de test fourni en standard avec Ruby.

Il est livré en standard pour que vous puissiez le tester sans avoir à ajouter de gemmes.

La documentation peut être trouvée dans le Rails Guide (version anglaise).

Référence: https://railsguides.jp/testing.html

Présentation de RSpec

RSpec est un cadre de test pour les outils de développement axé sur le comportement pour Ruby.

La documentation peut être trouvée sur rspec-rails.

Référence: https://relishapp.com/rspec

Vue d'ensemble de l'unité de test

test-unit est un framework de test unitaire basé sur xUnit pour Ruby.

La documentation peut être trouvée dans Unit Test Framework for Ruby.

Référence: https://test-unit.github.io/ja/index.html

Quels sont les frameworks de test les plus populaires?

J'en ai trouvé trois, mais pour les ingénieurs, il est nécessaire de déterminer la quantité de connaissances sur le net et quelle est la norme de facto, et ce qu'il convient d'utiliser. Cela dit, j'ai essayé de savoir lequel est le plus utilisé dans les conditions suivantes.

--Qiita est le nombre d'articles recherchés au format "Minitest tag: rails" --GitHub utilise Ruby comme langue et le nombre de référentiels recherchés --Résultats au moment de la rédaction (6 octobre 2020).

Cadre de test Qiita GitHub
Minitest 366 955
RSpec 2151 11306
test-unit 428 921

Le tableau ci-dessus n'est pas absolu, mais RSpec semble être le plus utilisé.

Certes, je vois souvent le mot RSpec, donc j'étais convaincu.

Ce que je ne comprends toujours pas

Les différences et les fonctionnalités de chaque framework de test, ce que sont les systèmes BDD et xUnit, etc. n'ont pas encore été clarifiés, mais cette fois je vais approfondir ce détail et quitter.

RSpec semble être le framework de test le plus utilisé, donc j'aimerais l'utiliser en premier et accumuler des connaissances sur ce à quoi il ressemble.

Même si vous les utilisez tous et que vous les comparez, c'est inefficace.

Sommaire

C'est donc une histoire qui a abouti à la conclusion que nous allons d'abord procéder à l'apprentissage de RSpec.

Recommended Posts

Que dois-je utiliser pour le framework de test [Rails]
[Java] Que dois-je utiliser pour écrire des fichiers?
Que dois-je faire pour recharger le Dockerfile mis à jour?
[Rails] Je ne sais pas comment utiliser le modèle ...
J'ai résumé le cadre de la collection.
A quoi sert le constructeur?
Pourquoi puis-je utiliser la commande rails installée avec gem? ??
[Rails] J'ai essayé d'utiliser la méthode button_to pour la première fois
Que faire si la commande rails devient inutilisable
[Rails] Quel était le message d'erreur?
Ce que j'ai appris en étudiant les rails
J'ai créé une fonction de réponse pour l'extension Rails Tutorial (Partie 1)
J'ai essayé le framework Java "Quarkus"
[Rails] J'ai essayé de supprimer l'application
J'ai créé une fonction de réponse pour l'extension Rails Tutorial (Partie 5):
Quelle classe doit être utilisée pour obtenir la date et l'heure dans l'application Rails (Time, DateTime, TimeWithZone)
Je veux que vous utilisiez Enum # name () pour la clé de SharedPreference
Qu'est-ce qu'un test? ・ À propos de l'importance d'un test
Modifier le fuseau horaire par défaut de l'application rails
[Rails] Comment utiliser la méthode de la carte
Préparer l'environnement de contrôle de sécurité pour Rails 6
Test des messages d'erreur: Notes du didacticiel Rails - Chapitre 7
Quel est le test de code de test de modèle
À quoi sert le modèle de façade?
Utilisez la méthode l pour la notation temporelle
Je veux que vous utilisiez Scala comme meilleur Java pour le moment
J'ai recherché un framework léger qui répondrait au soudain "faites-le vite"
Utilisez [Rails] pour concevoir la fonction utilisateur invité (pour le portefeuille)
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
Code utilisé pour connecter Rails 3 à PostgreSQL 10
Quel est le modificateur volatile pour les variables Java?
J'ai essayé de toucher Docker pour la première fois
Utilisez une bibliothèque Java externe pour le moment
J'ai spécifié la version et les rails nouveaux, mais pour une raison quelconque, la dernière version est incluse ~
Pour ceux qui souhaitent utiliser MySQL pour la base de données dans la construction de l'environnement de Rails6 ~.