Test de l'application Rails 3.2.3 à l'aide de concombre (BDD)

Qu’est-ce que le concombre ?

Le concombre est utilisé pour le développement axé sur le comportement. Cucumber permet aux équipes de développement de logiciels de décrire comment les logiciels doivent se comporter en texte brut. Le texte est rédigé dans un langage spécifique au domaine lisible par l'entreprise et sert de documentation, de tests automatisés et d'aide au développement, le tout dans un seul format.

Le concombre fonctionne avec Rubis sur Rails, Java, .NET, Flex ou applications Web écrites dans n'importe quel langage. Il a été traduit dans plus de 40 langues parlées. Cucumber prend également en charge des tests plus succincts dans des tableaux, à l'instar de ce que fait FIT.

Installez le concombre pour Rails 3 :

Installez Cucumber, Rspec-rails et Capybara Gem

sudo gem installer concombre-rails sudo gem installer database_cleaner sudo gem installer rspec-rails sudo gem installer capybara
  • Cucumber est un framework de développement piloté par le comportement (BDD) particulièrement adapté aux tests d'intégration et fonctionnels.

  • RSpec est un framework de développement piloté par le comportement (BDD) pour les tests de bas niveau dans le langage Ruby.
  • database_cleaner effectue le nettoyage de la base de données lors des tests
  • capybara simulant un navigateur, automatisant un navigateur ou définissant des attentes à l'aide des matchers.

 

Utilisation de Cucumber pour tester l'application Rails 3 :

1. Créez une nouvelle application Rails magasin

$rails nouveau magasin -d mysql

2. Modifiez le fichier Gemfile

Inclure les gemmes Cucumber dans une application Rails 3

   groupe :test, :development do gem 'rspec-rails' gem 'cucumber-rails' gem 'capybara' gem 'database_cleaner'
 fin
3. installation groupée

4. Installez les fichiers squelettes de concombre sur une application Rails 3.

Les rails $ génèrent du concombre : installer 

Le générateur concombre-rails crée les répertoires :

fonctionnalités/step_definitions

fonctionnalités/assistance

Le générateur de concombre-rails crée les fichiers :

config/concombre.yml

fonctionnalités/support/env.rb

lib/tasks/cucumber.rake

script/concombre

5. râteau db: créer 6. rake db: migrer

7. Exécutez les fonctionnalités de Concombre

$rake concombre

Créez des fonctionnalités de concombre :
  • Créer une fonctionnalité Cucumber pour les tests d'application RoR 3

$vi fonctionnalités/manage_store.feature

  • Cucumber Feature est la spécification de test pour les utilisateurs professionnels écrite en anglais simple avec un format spécifique.

Format des fonctionnalités

 Fonctionnalité: ...
   Dans l'ordre... Un acteur... Devrait... Scénario : ... Étant donné... Et... Quand... ET... Alors... ET...

Implémentez les étapes de test et le code du modèle Ruby on Rails pour Cucumber on Rails :

  • Créer des définitions d'étapes pour le concombre

$vi fonctionnalités/step_definitions/order_steps.rb

  • Cucumber utilise une expression régulière pour faire correspondre la chaîne et la transmettre aux définitions d'étape
  • Exécuter le concombre
$rake concombre
Un exemple pourrait être la capacité à gérer des entreprises :
Fonctionnalité : Gérer les entreprises

 Afin de garder une trace des entreprises, l'utilisateur doit être capable de gérer les entreprises

Scénario : Créer une nouvelle entreprise

 Étant donné que je suis connecté

 Quand je crée une nouvelle entreprise nommée Acme

 Alors je devrais voir qu'une société nommée Acme existe 

caractéristiques/

entreprises.fonctionnalité

pas/

entreprise_steps.rb

Étant donné == Configuration

Étant donné "Je suis connecté", faites

utilisateur = Usine(:utilisateur)

visite new_session_path

fills_in 'Connexion',

:avec => utilisateur.login

fills_in 'Mot de passe', :with => user.password

clicks_button 'Connexion'

fin

Étant donné "Je suis connecté", faites

utilisateur = Usine(:utilisateur)

visite new_session_path

fills_in 'Connexion',

:avec => utilisateur.login

fills_in 'Mot de passe', :with => user.password

clicks_button 'Connexion'

fin

Quand == Changer

Lorsque "Je crée une nouvelle société nommée $name", faites |name|

visite new_company_path

fills_in 'Nom', :with => nom

clicks_button 'Créer'

fin

Alors == Résultat

Ensuite, "Je devrais voir qu'une société nommée $name existe" faites |name|

réponse.body.should =~ Regexp.new(nom)

fin

À chaque étape, vous devez exécuter le concombre et vérifier le résultat.

Prenez contact avec nous.

Abonnez-vous pour les dernières mises à jour

Articles Similaires

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

fr_FRFrench