Upload
cyril-mougel
View
1.591
Download
2
Embed Size (px)
DESCRIPTION
Explication sur Cucumber, framework de test d'intégration.
Citation preview
Cucumber, le texte qui teste
Cucumber, le texte qui teste
Cyril Mougel
AF83
2 Octobre 2009
Cucumber, le texte qui teste
Les tests
1 Les tests
2 Cucumber c’est quoi ?
3 installation
4 utilisation
Cucumber, le texte qui teste
Les tests
Pourquoi faire des tests ?
Etre sur que ca marche
Valider ce que le client veut
Eviter les regressions
Cucumber, le texte qui teste
Les tests
Pourquoi automatiser ses tests ?
Ne pas perdre son temps a faire toujours lesmemes clics
Temps de test plus court
Cucumber, le texte qui teste
Les tests
Qui defini les tests ?
Le client
Le chef de projet
Le developpeur
Cucumber, le texte qui teste
Les tests
Quel sont leur langage ?
Le client : Le document texte
Le chef de projet : Le document texte
Le developpeur : Le code
Cucumber, le texte qui teste
Les tests
Pour aider tout le monde il y a
Cucumber
Cucumber, le texte qui teste
Cucumber c’est quoi ?
1 Les tests
2 Cucumber c’est quoi ?
3 installation
4 utilisation
Cucumber, le texte qui teste
Cucumber c’est quoi ?
Cucumber c’est quoi ?
Test d’integration
BDD (Behaviour Driven Development)
Heritier des Stories de Rspec
Cucumber, le texte qui teste
Cucumber c’est quoi ?
Format des tests
Business Readable DSL
Fichier texte
Cucumber, le texte qui teste
Cucumber c’est quoi ?
Un exemple ?
login.feature
Feature: LoginTo ensure the safety of the applicationA regular user of the systemMust authenticate before using the app
Scenario: Success LoginGiven I have one user "shingara" with
password "tintinpouet"When I go to /loginAnd I fill in "login" with "shingara"And I fill in "password" with "tintinpouet"And I press "Log In"Then the request should be successAnd I should see an notice messageAnd I should not see "Administration"
Cucumber, le texte qui teste
Cucumber c’est quoi ?
Context
Action
Resultat
Cucumber, le texte qui teste
Cucumber c’est quoi ?
Given == Context
Given step
Given /ˆ I have one u s e r ” ( [ ˆ\” ]∗ ) ” wi th password ” ( [ ˆ\” ]∗ ) ”$/ do | login ,password |
# CODE qu i c r e e l ’ u t i l i s a t e u rend
Given /ˆ I have a l ogged u s e r ” ( [ ˆ\” ]∗ ) ” wi th password ” ( [ ˆ\” ]∗ ) ”$/ do | login ,password |
%{Given I have one user ”#{ l o g i n}” with password ”#{password}”}# CODE qu i r emp l i l e f o rmu l a i r e e t l e v a l i d e
end
Cucumber, le texte qui teste
Cucumber c’est quoi ?
When == Action
When step
When /ˆ I f o l l o w ” ( .∗ ) ”$/ do | link |@response = click_link ( link )
end
When /ˆ I f i l l i n ” ( .∗ ) ” wi th ” ( .∗ ) ”$/ do | field , value |@response = fill_in ( field , : with => value )
end
Cucumber, le texte qui teste
Cucumber c’est quoi ?
Then == Resultat
Then step
Then /ˆ I shou l d not s e e ” ( [ ˆ\” ]∗ ) ”$/ do | text |webrat_session . response . body . to_s . should_not =˜ /#{t e x t}/m
end
Then /ˆ I shou l d s e e an? (\w+) message$/ do | message_type |webrat_session . response . should have_xpath ( ” //∗ [ @ c l a s s=’#{message type } ’ ] ” )
end
Cucumber, le texte qui teste
installation
1 Les tests
2 Cucumber c’est quoi ?
3 installation
4 utilisation
Cucumber, le texte qui teste
installation
installation
gem install rspec rspec-rails cucumber webrat
ruby script/generate cucumber
Cucumber, le texte qui teste
installation
features/login.featurestep definitions/
login steps.rb
Cucumber, le texte qui teste
utilisation
1 Les tests
2 Cucumber c’est quoi ?
3 installation
4 utilisation
Cucumber, le texte qui teste
utilisation
Cucumber, le texte qui teste
utilisation
Cucumber, le texte qui teste
utilisation
questions ?