Test dell'applicazione Rails 3.2.3 utilizzando Cucumber (BDD)

Cos'è il cetriolo?

Il cetriolo viene utilizzato per lo sviluppo guidato dal comportamento. Cucumber consente ai team di sviluppo software di descrivere come dovrebbe comportarsi il software in testo semplice. Il testo è scritto in un linguaggio specifico del dominio leggibile dal business e funge da documentazione, test automatizzati e aiuto allo sviluppo, il tutto riunito in un unico formato.

Il cetriolo funziona con Rubino sui binari, Java, .NET, Flex o applicazioni web scritte in qualsiasi linguaggio. È stato tradotto in oltre 40 lingue parlate. Cucumber supporta anche test più concisi nelle tabelle, in modo simile a quanto fa FIT.

Installa cetriolo per Rails 3:

Installa cetriolo, binari Rspec e gemma di capibara

sudo gem installa cetriolo-rails sudo gem installa database_cleaner sudo gem installa rspec-rails sudo gem installa capibara
  • Cucumber è un framework di sviluppo guidato dal comportamento (BDD), particolarmente utile per l'integrazione e i test funzionali

  • RSpec è un framework BDD ( Behavior Driven Development ) per test di basso livello nel linguaggio Ruby
  • database_cleaner esegue la pulizia del DB durante i test
  • capibara simula un browser, automatizza un browser o imposta aspettative utilizzando i matcher.

 

Utilizzando Cucumber per testare l'applicazione Rails 3:

1. Crea una nuova applicazione Rails negozio

$rails nuovo negozio -d mysql

2. Modifica il Gemfile

Includi le gemme di cetriolo in un'applicazione Rails 3

   gruppo :test, :development do gem 'rspec-rails' gem 'cucumber-rails' gem 'capybara' gem 'database_cleaner'
 FINE
3. installazione del pacchetto

4. Installa i file skeleton di cetriolo in un'applicazione Rails 3.

I binari $ generano cetriolo: installa 

Il generatore di cetrioli crea le directory:

caratteristiche/definizioni_passo

funzionalità/supporto

Il generatore di cetrioli crea i file:

config/cucumber.yml

features/support/env.rb

lib/tasks/cucumber.rake

copione/cetriolo

5. rastrello db:crea 6. rastrella db:migra

7. Esegui le funzionalità di Cucumber

$rake cetriolo

Crea funzionalità di cetriolo:
  • Crea una funzionalità Cucumber per il test delle applicazioni RoR 3

Funzionalità $vi/manage_store.feature

  • Cucumber Feature è la specifica di test per gli utenti aziendali scritta in un inglese semplice con un formato specifico

Formato delle caratteristiche

 Caratteristica: ...
   In ordine... Qualche Attore... Dovrebbe... Scenario: ... Dato... E... Quando... E... Allora... E...

Implementa i passaggi di test e il codice del modello Ruby on Rails per Cucumber on Rails:

  • Crea definizioni di passaggi di cetriolo

$vi features/step_definitions/order_steps.rb

  • Cucumber utilizza l'espressione regolare per trovare la corrispondenza con la stringa e passarla alle definizioni dei passaggi
  • Esegui cetriolo
$rake cetriolo
Un esempio potrebbe essere la capacità di gestire aziende:
Caratteristica: Gestisci le aziende

 Per tenere traccia delle aziende, l'utente dovrebbe essere in grado di gestire le aziende

Scenario: creare una nuova società

 Dato che ho effettuato l'accesso

 Quando creerò una nuova società denominata Acme

 Allora dovrei vedere che esiste una società chiamata Acme 

caratteristiche/

aziende.funzione

passi/

azienda_passi.rb

Dato == Impostazione

Dato "Ho effettuato l'accesso", fallo

utente = Fabbrica(:utente)

visita new_session_path

riempie_in 'Accedi',

:con => utente.login

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

clicks_button 'Accedi'

FINE

Dato "Ho effettuato l'accesso", fallo

utente = Fabbrica(:utente)

visita new_session_path

riempie_in 'Accedi',

:con => utente.login

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

clicks_button 'Accedi'

FINE

Quando == Cambia

Quando "Creo una nuova società denominata $name" esegui |name|

visita new_company_path

fills_in 'Nome', :with => nome

clicks_button 'Crea'

FINE

Quindi == Risultato

Quindi "dovrei vedere che esiste una società denominata $name" fare |name|

risposta.body.dovrebbe =~ Regexp.new(nome)

FINE

Ad ogni passaggio è necessario eseguire il cetriolo e verificare il risultato.

Mettiti in contatto con noi.

Iscriviti per gli ultimi aggiornamenti

Articoli correlati

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

it_ITItalian