SlideShare une entreprise Scribd logo
Le javascript
Un ami du php souvent délaissé lors des tests
PHP’tit Déj
«Intégration Continue»
16.05.2013 - Luxembourg
mercredi 22 mai 13
Présentation
Frédéric Dewinne
= Consultant @ VA Consulting
= Architecte logiciel, formateur, coach
= Expert PHP / JS depuis 2007
mercredi 22 mai 13
Le javascript
mercredi 22 mai 13
Le javascript
≠ langage de présentation
mercredi 22 mai 13
Le javascript
≠ langage de présentation
= langage de programmation
mercredi 22 mai 13
Le javascript
≠ langage de présentation
= langage de programmation
= langage événementiel
mercredi 22 mai 13
Le javascript
≠ langage de présentation
= langage de programmation
= langage événementiel
= s’exécute sur un client, un serveur ou isolé
(applications Windows 8)
mercredi 22 mai 13
Le javascript
≠ langage de présentation
= langage de programmation
= langage événementiel
= s’exécute sur un client, un serveur ou isolé
(applications Windows 8)
mercredi 22 mai 13
Problématique dans le cadre d’un site web
mercredi 22 mai 13
Problématique dans le cadre d’un site web
= le client utilisé
(OS, type et version de navigateur, ...)
mercredi 22 mai 13
Problématique dans le cadre d’un site web
= le client utilisé
(OS, type et version de navigateur, ...)
= la testabilité du code
mercredi 22 mai 13
Problématique dans le cadre d’un site web
= le client utilisé
(OS, type et version de navigateur, ...)
= la testabilité du code
= la détection des erreurs
mercredi 22 mai 13
Comment procéder dès lors ?
mercredi 22 mai 13
Comment procéder dès lors ?
= écrire du code réutilisable
plugins, widgets, prototypes, ...
mercredi 22 mai 13
Comment procéder dès lors ?
= écrire du code réutilisable
plugins, widgets, prototypes, ...
= et testable
Test Driven Development (TDD)
mercredi 22 mai 13
Comment procéder dès lors ?
= écrire du code réutilisable
plugins, widgets, prototypes, ...
= et testable
Test Driven Development (TDD)
= tester le code sur différents clients
mercredi 22 mai 13
JsTestDriver
mercredi 22 mai 13
JsTestDriver
= initié par Google
mercredi 22 mai 13
JsTestDriver
= initié par Google
= framework de test
mercredi 22 mai 13
JsTestDriver
= initié par Google
= framework de test
= support d’autres frameworks de test
mercredi 22 mai 13
JsTestDriver
= initié par Google
= framework de test
= support d’autres frameworks de test
= serveur http pour une exécution client / serveur
mercredi 22 mai 13
JsTestDriver
= initié par Google
= framework de test
= support d’autres frameworks de test
= serveur http pour une exécution client / serveur
= proxy web pour les dépendances
mercredi 22 mai 13
JsTestDriver
= initié par Google
= framework de test
= support d’autres frameworks de test
= serveur http pour une exécution client / serveur
= proxy web pour les dépendances
= exécutable en ligne de commande
mercredi 22 mai 13
JsTestDriver
= initié par Google
= framework de test
= support d’autres frameworks de test
= serveur http pour une exécution client / serveur
= proxy web pour les dépendances
= exécutable en ligne de commande
= plugins pour IDE
mercredi 22 mai 13
JsTestDriver
= initié par Google
= framework de test
= support d’autres frameworks de test
= serveur http pour une exécution client / serveur
= proxy web pour les dépendances
= exécutable en ligne de commande
= plugins pour IDE
= plugin de code coverage
mercredi 22 mai 13
Exemple
TestCase('form-collection-test', {
"test add fieldset on add button click": function () {
/*:DOC collection = <div><fieldset><input name="toto[0]" /></fieldset></div>*/
/*:DOC addButton = <button></button>*/
$(this.collection).formCollection({
addButtonSelector: this.addButton,
template: '<fieldset><input name="toto[__index__]" /></fieldset>',
childrenSelector: 'fieldset'
});
$(this.addButton).click();
assertEquals(2, $(this.collection).find('fieldset').length);
}
});
mercredi 22 mai 13
mercredi 22 mai 13
Et ensuite ?
mercredi 22 mai 13
Et ensuite ?
= exécuter les tests de manière automatique
mercredi 22 mai 13
Jenkins
mercredi 22 mai 13
Jenkins
= démarrage du serveur
mercredi 22 mai 13
Jenkins
= démarrage du serveur
= gestion des browsers
mercredi 22 mai 13
Jenkins
= démarrage du serveur
= gestion des browsers
= aggrégation des résultats de tests
mercredi 22 mai 13
Jenkins
= démarrage du serveur
= gestion des browsers
= aggrégation des résultats de tests
= analyse du code coverage
mercredi 22 mai 13
Résultats
mercredi 22 mai 13
Des questions ?
mercredi 22 mai 13
Merci
Frédéric Dewinne
twitter => @dwebconsulting
email => frederic.dewinne@vaconsulting.lu
mercredi 22 mai 13

Contenu connexe

PDF
GDG Rennes - Bootcamp Initiation Android - Théorie
PPTX
Cancellable Promises
PPTX
Tests unitaires avec FakeItEasy
PDF
Zend Framework 2.0 - Le gestionnaire de modules
ODP
Introduction à Zend Framework
PDF
Accélération des pages Web : les bases en exemple
PDF
Bases de PHP - Partie 1
PPTX
PHP (Partie II) Par Mahdi Ben Alaya
GDG Rennes - Bootcamp Initiation Android - Théorie
Cancellable Promises
Tests unitaires avec FakeItEasy
Zend Framework 2.0 - Le gestionnaire de modules
Introduction à Zend Framework
Accélération des pages Web : les bases en exemple
Bases de PHP - Partie 1
PHP (Partie II) Par Mahdi Ben Alaya

En vedette (6)

PDF
JavaScript pour le développeur Java
PDF
Kits formation html-les_bases
PDF
Trucs et astuces PHP et MySQL
PDF
Php
DOCX
Mini projet individuel php
PDF
Examen principal- php - correction
JavaScript pour le développeur Java
Kits formation html-les_bases
Trucs et astuces PHP et MySQL
Php
Mini projet individuel php
Examen principal- php - correction
Publicité

Similaire à Javascript in a continuous integration environment (7)

PPT
Devoxx java script-1280-720
PDF
20091008 Tests Interaces Web Riches Selenium
PDF
Etat de l'art Server-Side JavaScript - JS Geneve
PPTX
Jenkins - Les jeudis de la découverte
PDF
Tests ihm automatises avec selenium
PPTX
WC Bretagne 2024 - Tester son extension avec les outils WordPress
PPT
Bbd dans le flow nov.2012
Devoxx java script-1280-720
20091008 Tests Interaces Web Riches Selenium
Etat de l'art Server-Side JavaScript - JS Geneve
Jenkins - Les jeudis de la découverte
Tests ihm automatises avec selenium
WC Bretagne 2024 - Tester son extension avec les outils WordPress
Bbd dans le flow nov.2012
Publicité

Javascript in a continuous integration environment