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.