22
Cucumber, le texte qui teste Cucumber, le texte qui teste Cyril Mougel AF83 2 Octobre 2009

Cucumber Le Text Qui Test

Embed Size (px)

DESCRIPTION

Explication sur Cucumber, framework de test d'intégration.

Citation preview

Page 1: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

Cucumber, le texte qui teste

Cyril Mougel

AF83

2 Octobre 2009

Page 2: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

Les tests

1 Les tests

2 Cucumber c’est quoi ?

3 installation

4 utilisation

Page 3: Cucumber Le Text Qui Test

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

Page 4: Cucumber Le Text Qui Test

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

Page 5: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

Les tests

Qui defini les tests ?

Le client

Le chef de projet

Le developpeur

Page 6: Cucumber Le Text Qui Test

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

Page 7: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

Les tests

Pour aider tout le monde il y a

Cucumber

Page 8: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

Cucumber c’est quoi ?

1 Les tests

2 Cucumber c’est quoi ?

3 installation

4 utilisation

Page 9: Cucumber Le Text Qui Test

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

Page 10: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

Cucumber c’est quoi ?

Format des tests

Business Readable DSL

Fichier texte

Page 11: Cucumber Le Text Qui Test

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"

Page 12: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

Cucumber c’est quoi ?

Context

Action

Resultat

Page 13: Cucumber Le Text Qui Test

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

Page 14: Cucumber Le Text Qui Test

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

Page 15: Cucumber Le Text Qui Test

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

Page 16: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

installation

1 Les tests

2 Cucumber c’est quoi ?

3 installation

4 utilisation

Page 17: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

installation

installation

gem install rspec rspec-rails cucumber webrat

ruby script/generate cucumber

Page 18: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

installation

features/login.featurestep definitions/

login steps.rb

Page 19: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

utilisation

1 Les tests

2 Cucumber c’est quoi ?

3 installation

4 utilisation

Page 20: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

utilisation

Page 21: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

utilisation

Page 22: Cucumber Le Text Qui Test

Cucumber, le texte qui teste

utilisation

questions ?