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.