Testa skenor 3.2.3 Applicering med gurka (BDD)

Vad är gurka?

Gurka används för beteendedriven utveckling. Cucumber låter mjukvaruutvecklingsteam beskriva hur programvara ska bete sig i vanlig text. Texten är skriven på ett företagsläsbart domänspecifikt språk och fungerar som dokumentation, automatiserade tester och utvecklingshjälp – allt i ett format.

Gurka jobbar med Ruby on Rails, Java, .NET, Flex eller webbapplikationer skrivna på valfritt språk. Den har översatts till över 40 talade språk. Gurka stöder också mer kortfattade tester i tabeller – liknande vad FIT gör.

Installera gurka för Rails 3:

Installera gurka, Rspec-rails och capybara gem

sudo gem installera gurka-rails sudo gem installera database_cleaner sudo gem installera rspec-rails sudo gem installera capybara
  • Gurka är ett ramverk för beteendedriven utveckling (BDD) som är särskilt bra för integration och funktionstester

  • RSpec är ett ramverk för beteendedriven utveckling (BDD) för lågnivåtestning på Ruby-språket
  • database_cleaner utför DB-rensning vid testning
  • capybara som simulerar en webbläsare, automatiserar en webbläsare eller ställer förväntningar med hjälp av matcharna.

 

Använda gurka för att testa rails 3-applikation:

1. Skapa en ny Rails-applikation Lagra

$rails nya butik -d mysql

2. Redigera Gemfilen

Inkludera gurka ädelstenar i en Rails 3-applikation

   grupp :test, :development do gem 'rspec-rails' gem 'cucumber-rails' gem 'capybara' gem 'database_cleaner'
 slutet
3. paketinstallation

4. Installera gurkskelettfilerna i en Rails 3-applikation.

$-skenor genererar gurka:installera 

Generatorn för gurkskenor skapar katalogerna:

funktioner/steg_definitioner

funktioner/support

Generatorn för gurkskenor skapar filerna:

config/cucumber.yml

features/support/env.rb

lib/tasks/cucumber.rake

manus/gurka

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

7. Kör Cucumber-funktionerna

$rake gurka

Skapa gurka funktioner:
  • Skapa en gurkafunktion för RoR 3-applikationstestning

$vi funktioner/manage_store.feature

  • Cucumber Feature är specifikationen för affärsanvändartestning skriven på vanlig engelska med ett specifikt format

Funktionsformat

 Funktion: ...
   I ordning ... Någon skådespelare ... borde ... Scenarie: ... Given ... Och ... När ... OCH ... Då ... OCH ...

Implementera teststegen och Ruby on Rails modellkod för Cucumber on Rails:

  • Skapa gurka steg definitioner

$vi features/step_definitions/order_steps.rb

  • Cucumber använder reguljärt uttryck för att matcha sträng och skicka den till stegdefinitionerna
  • Kör Gurka
$rake gurka
Ett exempel kan vara förmågan att leda företag:
Funktion: Hantera företag

 För att hålla reda på företag bör användaren kunna hantera företag

Scenario: Skapa ett nytt företag

 Med tanke på att jag är inloggad

 När jag skapar ett nytt företag som heter Acme

 Då borde jag se att det finns ett företag som heter Acme 

Funktioner/

företag.funktion

steg/

företagssteg.rb

Givet == Setup

Med tanke på "Jag är inloggad" gör det

användare = Fabrik(:användare)

besöker new_session_path

fills_in 'Logga in',

:with => user.login

fills_in 'Lösenord', :med => användare.lösenord

clicks_button 'Logga in'

slutet

Med tanke på "Jag är inloggad" gör det

användare = Fabrik(:användare)

besöker new_session_path

fills_in 'Logga in',

:with => user.login

fills_in 'Lösenord', :med => användare.lösenord

clicks_button 'Logga in'

slutet

När == Ändra

När "Jag skapar ett nytt företag som heter $name" gör |name|

besöker new_company_path

fills_in 'Namn', :med => namn

clicks_button "Skapa"

slutet

Sedan == Utfall

Sedan "Jag borde se att det finns ett företag som heter $name" gör |name|

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

slutet

Vid varje steg måste du köra gurka och kontrollera resultatet.

Kontakta oss.

Prenumerera för de senaste uppdateringarna

relaterade inlägg

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

sv_SESwedish