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

Qu’est-ce que le concombre ?

Cucumber is used for Behavior Driven Development. Cucumber lets software development teams describe how software should behave in plain text. The text is written in a business-readable domain-specific language and serves as documentation, automated tests and development-aid – all rolled into one format.

Le concombre fonctionne avec Rubis sur Rails, Java, .NET, Flex or web applications written in any language. It has been translated to over 40 spoken languages. Cucumber also supports more succinct tests in tables – similar to what FIT does.

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 *

French
English
English
Japanese
German
French
Spanish

WhatsApp nous

Quitter la version mobile