Testen der Rails 3.2.3-Anwendung mit Cucumber (BDD)

Was ist Gurke?

Gurke wird für die verhaltensgesteuerte Entwicklung verwendet. Mit Cucumber können Softwareentwicklungsteams im Klartext beschreiben, wie sich Software verhalten soll. Der Text ist in einer geschäftslesbaren domänenspezifischen Sprache verfasst und dient als Dokumentation, automatisierte Tests und Entwicklungshilfe – alles in einem Format zusammengefasst.

Gurke funktioniert mit Ruby auf Schienen, Java, .NET, Flex oder Webanwendungen, die in einer beliebigen Sprache geschrieben sind. Es wurde in über 40 gesprochene Sprachen übersetzt. Cucumber unterstützt auch prägnantere Tests in Tabellen – ähnlich wie FIT.

Gurke für Rails 3 installieren:

Installieren Sie Cucumber, Rspec-Rails und Capybara Gem

Sudo Gem Installgurke-Rails Sudo Gem Install Database_Cleaner Sudo Gem Install Rspec-Rails Sudo Gem Install Capybara
  • Cucumber ist ein BDD-Framework (Behavior Driven Development), das sich besonders für Integrations- und Funktionstests eignet

  • RSpec ist ein verhaltensgesteuertes Entwicklungsframework (BDD) für Low-Level-Tests in der Ruby-Sprache
  • „database_cleaner“ führt im Test eine DB-Bereinigung durch
  • Capybara simuliert einen Browser, automatisiert einen Browser oder setzt Erwartungen mithilfe der Matcher.

 

Verwendung von Cucumber zum Testen der Rails 3-Anwendung:

1. Erstellen Sie eine neue Rails-Anwendung speichern

$rails neuer Store -d MySQL

2. Bearbeiten Sie die Gemfile

Binden Sie die Cucumber-Gems in eine Rails 3-Anwendung ein

   Gruppe :test, :development do gem 'rspec-rails' gem 'cucumber-rails' gem 'capybara' gem 'database_cleaner'
 Ende
3. Bundle-Installation

4. Installieren Sie die Gurken-Skelettdateien in einer Rails 3-Anwendung.

$-Schienen erzeugen Gurke:install 

Der Gurken-Rails-Generator erstellt die Verzeichnisse:

Features/Schrittdefinitionen

Funktionen/Unterstützung

Der Gurken-Rails-Generator erstellt die Dateien:

config/cucumber.yml

Features/support/env.rb

lib/tasks/cucumber.rake

Skript/Gurke

5. Rechen db:create 6. rake db:migrate

7. Führen Sie die Cucumber-Funktionen aus

$rake-Gurke

Gurkenfunktionen erstellen:
  • Erstellen Sie ein Cucumber-Feature für RoR 3-Anwendungstests

$vi Features/manage_store.feature

  • Cucumber Feature ist die Testspezifikation für Geschäftsanwender, die in einfachem Englisch mit einem bestimmten Format verfasst ist

Feature-Format

 Besonderheit: ...
   In der Reihenfolge ... Irgendein Schauspieler ... Sollte ... Szenario: ... Gegeben ... Und ... Wann ... UND ... Dann ... UND ...

Implementieren Sie die Testschritte und den Ruby on Rails-Modellcode für Cucumber on Rails:

  • Erstellen Sie Cucumber-Schrittdefinitionen

$vi Features/step_definitions/order_steps.rb

  • Cucumber verwendet einen regulären Ausdruck, um eine Zeichenfolge abzugleichen und an die Schrittdefinitionen zu übergeben
  • Gurke ausführen
$rake-Gurke
Ein Beispiel könnte die Fähigkeit sein, Unternehmen zu verwalten:
Funktion: Unternehmen verwalten

 Um den Überblick über Unternehmen zu behalten, sollte der Benutzer in der Lage sein, Unternehmen zu verwalten

Szenario: Erstellen Sie ein neues Unternehmen

 Vorausgesetzt, ich bin eingeloggt

 Wenn ich ein neues Unternehmen namens Acme gründe

 Dann sollte ich sehen, dass es eine Firma namens Acme gibt 

Merkmale/

unternehmen.feature

Schritte/

company_steps.rb

Gegeben == Setup

Unter der Voraussetzung „Ich bin angemeldet“ tun Sie dies

Benutzer = Factory(:Benutzer)

besucht new_session_path

fills_in 'Anmelden',

:with => user.login

fills_in 'Password', :with => user.password

clicks_button 'Anmelden'

Ende

Unter der Voraussetzung „Ich bin angemeldet“ tun Sie dies

Benutzer = Factory(:Benutzer)

besucht new_session_path

fills_in 'Anmelden',

:with => user.login

fills_in 'Password', :with => user.password

clicks_button 'Anmelden'

Ende

Wann == Ändern

Wenn „Ich erstelle eine neue Firma mit dem Namen $name“, führen Sie |name| aus

besucht new_company_path

fills_in 'Name', :with => name

clicks_button 'Erstellen'

Ende

Dann == Ergebnis

Dann „Ich sollte sehen, dass eine Firma namens $name existiert“ machen Sie |name|

Response.body.should =~ Regexp.new(name)

Ende

Bei jedem Schritt müssen Sie die Gurke ausführen und das Ergebnis überprüfen.

Nehmen Sie Kontakt mit uns auf.

Abonnieren Sie die neuesten Updates

zusammenhängende Posts

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEGerman