Débuter avec PHP Unit

cowseedΛογισμικό & κατασκευή λογ/κού

12 Ιουν 2012 (πριν από 5 χρόνια και 2 μήνες)

525 εμφανίσεις






Sensio

92
-
98 boulevard Victor Hugo

92115 Clichy

Cédex


1





S
ENSIO
L
ABS





Découverte de PHP
Unit



















2



SOMMAIRE

Introduction

................................
................................
................................
................................
............................

3

Le framework PHPUnit

................................
................................
................................
................................
............

3

Objectifs de la formation

................................
................................
................................
................................
........

3

Public et prérequis techniques

................................
................................
................................
...............................

4

Durée et prix de la formation

................................
................................
................................
................................
..

4

Moyens pedagogiques

................................
................................
................................
................................
............

4

Qualité du formateur

................................
................................
................................
................................
..............

5

Suivi d’évaluation

................................
................................
................................
................................
....................

5

Conditions de mise en œuvre de la formation

................................
................................
................................
.......

5

Programme détaillé
................................
................................
................................
................................
.................

6

Introduction aux tests unitaires

................................
................................
................................
..........................

6

Introduction à PHP Unit

................................
................................
................................
................................
......

6

Ecriture des premières assertions

................................
................................
................................
.......................

6

Préparer et réinitialiser un test

................................
................................
................................
...........................

6

Tester les exceptions

................................
................................
................................
................................
...........

7

Développement piloté par les test
s

................................
................................
................................
....................

7

Données de tests et fournisseurs de données

................................
................................
................................
....

7

Assertions avancées

................................
................................
................................
................................
............

7







3



INTRODUCTION

La format
ion e
-
learning “
Découverte de PHPUnit

” vous permet de découvrir en
trois heures
seulement
comment installer PHPUnit et écrire vos premières suites de tests avec le framework
.

Pendant trois heures, vous serez formé par un consultant Sensio Labs, expert en

développement PHP
5 et Symfony.
Il vous guidera dans la découverte des tests automatisés avec PHPUnit. Vous
apprendrez à installer et configurer le framework PHPUnit mais aussi à écrire et exécuter votre
premières suites de test à l’aide de l’interface en

ligne de commande.


LE FRAMEWORK
PHPUNIT

PHP Unit

est un framework Open
-
Source
PHP 5 de tests unitaires
créé par Sebastian Bergmann, l’un
des membres

de l’équipe qualité de PHP
. PHP Unit est un outil complet de test
s

unitaire
s

qui
comprend les fonctionna
lités suivantes par défaut:


API
pour faciliter l’écriture de
tests unitaires


Interface en ligne de commande pour
exé
cuter les suites de test
s

et générer des rapports


Analyse de couverture de code


Conforme aux standards JUnit et TAP


Rapports générés aux

for
mats
XML, JSON, TAP, Clover
et

HTML


Gestion des données de tests, génération de squelettes de classe de test, creation de stubs et
d’objets


Integration
avec

Selenium RC


Integration
avec des outils d’intégration continue tels que
Bamboo, PHPUnderControl
o
u
bien

CruiseControl

Les tests unitaires font partie de la philosophie des

thodologies agiles

et d’assurance qualité du
code. Ils s’assurent que le code écrit fonctionne comme prévu et qu’il respecte les spécifications du
projet.


OBJECTIFS DE LA FORM
ATI
ON

L’objectif de cette formation consiste à transmettre au stagiaire
les

connaissances
essentielles

de
base concernant l’écriture de tests unitaires avec le framework PHPUnit afin que ce dernier soit






4


capable de réaliser et d’exécuter ses propres suites de
tests. Pour y parvenir, la formation met en
œuvre une démarche pédagogique reposant sur la pratique afin de mieux aider les stagiaires à
découvrir les outils de PHPUnit.


PUBLIC ET PREREQUIS
TECHNIQUES

Cette formation s’adresse à des
développeurs
php

confi
rmés

ayant une bonne connaissance du
langage

PHP

et de la programmation orientée objet
.

Ces
pré
requis techniques sont essentiels
pour pouvoir profiter pleinement de la formation durant les
trois

heures
.


DUREE ET PRIX DE LA
FORMATION

La formation se déro
ule
en ligne

pendant

trois

heures

consécutives
.

Le prix par participant s’élève à
120

euros HT
.

Tarif dégressif de
100

euros HT

à partir de 5 participants
.

Cette for
m
ation peut être prise en charge par votre organisme de formation dans le cadre du Droit
Individuel à la Formation (DIF). Sensio Labs est un organisme de formation agréé par le FAFIEC sous le
numéro
11 92 16038 92.

Contact commercial

: Nicolas BLIN


01 40 99 81 09

Contact opérationnel

: Hugo HAMON


01 40 99 82 11

MOYENS PEDAGOGIQUES

La forma
tion est animée par
un expert
de PHP
.

Elle se déroule en ligne sur une plateforme Elearning
prévue à cet effet sur laquelle se connecte
nt

les stagiaires et le formateur depuis leur navigateur web
respectif. Cette application permet au formateur d’animer pl
einement la séance grâce au tableau
blanc virtuel, le son, l’image ou bien encore la vidéo. Les stagiaires peuvent quant à eux réagirent à
tout moment pendant la formation à l’aide d’un système de «

chat

» et de prise de parole.

Des
supports de présentatio
n sont projeté
s tout au long de la formation

sur l’application Elearning

afin de permettre au
x

stagiaire
s

de suivre le déroulement de la session et de le guider dans les
parties théoriques et pratiques.


Ces
supports

contiennent à la fois les concepts théo
riques à maîtriser ainsi que les intitulés et
solutions des exercices réalisés.







5


Sauf indication contraire sur les convocations, l
e stagiaire
doit
s’équiper de son

ordinateur portable
personnel
le jour de la
formation

muni
d’un environnement web minimal
fon
ctionnel
comprenant
les logiciels suivants
:

-

Un serveur web Apache 2

-

Un serveur MySQL 5

-

PHP 5.2.4 (ou supérieur) disposant de l’extension PDO

-

Un EDI (Eclipse, Netbeans…)
ou éditeur de texte (Notepad++)

-

Un client Java Runtime activé

-

Un microphone

et des enceintes activés

De nombreux exercices pratiques sont réalisés tout au long de la formation. Les participants seront
amenés à
s’exercer en écrivant du code et des tests unitaires validant ce dernier avec PHPUnit.


QUALITE DU FORMATEUR

Le formateur

est un expert technique
de PHP
. Les formateurs Sensio Labs sont des consultants ayant
une forte expérience professionnelle en développement web avec PHP 5 et
le framework
symfony
sur des projets de clients grands comptes.


SUIVI D’EVALUATION

Le suivi d’év
aluation est assuré par le formateur qui se charge d’accompagner chaque participan
t
tout au long de la formation.

Par ailleurs, il invite ces derniers à prendre la parole afin de participer activement à la pédagogie de
la session animée.


Les exercices son
t réalisés avec tout le groupe et chaque participant

prend part
à l’animation de la
formation
. Tous les participants disposent de leur propre copie

de travail sur leur ordinateur
personnel.


CONDITIONS DE MISE E
N ŒUVRE DE LA FORMAT
ION

L
a formation se dérou
le pendant
trois

heures

consécutives sur une plateforme e
-
learning prévue à
cet effet. Cette application s’exécute directement dans le navigateur après que le stagiaire
a

cliqué
sur le lien
-

reçu par email
-

l’invitant à prendre place dans la salle virtue
lle.







6


La salle virtuelle offre aux participants et au formateur de nombreux outils pour interagir. Le
formateur dispose entre autre d’un tableau blanc virtuel sur lequel il diffuse les supports de
formation, de la webcam ainsi que d’un microphone lui permet
tant de parler et d’animer la session
oralement.

Les participants disposent quant à eux d’un système de messagerie instantanée leur permettant de
dialoguer entre eux et avec le formateur. Ils ont également la possibilité de dialoguer directement
avec le fo
rmateur à condition d’utiliser un microphone.

PROGRAMME DÉTAILLÉ

INTRODUCTION
AUX TESTS UNITAIRES



Définition des tests unitaires



Avantages et inconvénients



La règle

F
IRST

INTRODUCTION
A

PHP UNIT



Introduction
à

PHP Unit



Panorama des
p
rojets Open
-
Source PHP
qui utilisent PHPUnit



Intégration de PHPUnit avec les IDEs du marché



Installation de PHPUnit à l’aide de PEAR



TP
:
Installation de

PHPUnit
à l’aide de

PEAR

ECRITURE DES PREMIER
ES ASSERTIONS



Découvrir la classe

PHPUnit_Framework_TestCase



Découverte de l’
inte
rface en ligne de c
ommande

(CLI)



Ecriture d’une première suite de tests



Exécution de la suite de tests à l’aide de la ligne de commande



TP
:
Ecriture et
exécution

d’une suite de tests unitaires avec

PHPUnit

PRÉPARER ET RÉINITIA
LISER UN TEST



Préparer une sui
te de test à l’aide de la méthode

setup()



Réinitialiser un
contexte

de test à l’aide de la méthode

tearDown()







7




Créer des données de test (fixtures)



TP
:
initialiser et détruire un
contexte

de test avec les méthodes

setup()
et

tearDown()

TESTER LES EXCEPTI
ONS



Ecrire des tests pour les
méthodes

qui peuvent lever des exceptions



Tester une
levée

d’exception avec la méthode

setE
xpectedException()



Tester une
levée

d’exception à l’aide de l’annotation

@expectedException



Tester une

exception
à l’aide d’un bloc
try

{ } catch



TP
:
Implémenter une suite de tests pour les méthodes levant des exceptions

DÉVELOPPEMENT PILOTÉ

PAR LES TESTS



Comprendre la méthodologie de développement piloté par les tests

(TDD)



Principaux avantages

du développement piloté

par le
s tests



Imp
lémenter du code à l’aide de l’approche TDD



TP
:
fixer du code et le documenter à l’aide d’une approche pilotée par les tests

DONNEES DE TESTS ET
FOURNISSEURS

DE DONNEES



Comprendre les concepts de données de tests et de fournisseur de données



Créer une
méth
od
e

de
génération

de données pour tester plusieurs valeurs



TP
:
implémenter un fournisseur de données pour tester les cas limites d’une méthode

ASSERTIONS AVANCÉES



Découvrir quelques unes des

thodes

d’assertion avancées de PHPUnit



Assertions pour tester l
es classes et leurs attributs



Assertions pour tester des valeurs booléennes



Assertions pour tester des chaînes de caractères



Assertions
pour tester des valeurs

XML