Upload
romain-linsolas
View
2.688
Download
1
Embed Size (px)
DESCRIPTION
Ma présentation "Chouchoutez votre code JavaScript", réalisée le 18 avril 2012 au premier Devoxx France.
Citation preview
Ch♥uch♥utez votrecode JavaScript
Romain Linsolas
@romaintaz
1
AbstractLa recette du “JavaScript aux petits oignons” :
1.Écrire des tests pour son JavaScript
2.Analyser son code pour enlever les bugs
3.Bien couvrir
4.Laisser mijoter dans un serveur d’intégration continue
2
Romain Linsolas
•Développeur Java / Web depuis 2002
•Éleveur d'usines logicielles
•@ Société Générale
3
@romaintaz
http://linsolas.free.fr/wordpress
1. Testons !
4
Notre cobaye…
•60+ méthodes utilitaires
•Support pour la programmation fonctionnelle
5
http://documentcloud.github.com/underscore/
@DocumentCloud
Notre (1ère) librairie de tests JavaScript
•BDD (Behavior Driven Development)
•Nombreux supports : Java (Maven), .Net, Ruby, Node.js, JsTestDriver, etc.
6
http://pivotal.github.com/jasmine/
@JasmineBDD
7
2. Analysons !
8
Notre outil d'analyse du code
•Plateforme de suivi de la qualité du code
•Mesure de la dette technique
•Multi-langages : Java, C#, PHP, JS, Python, etc.
9
http://www.sonarsource.com/
@SonarSource
10
3. Couvrons !
11
js-test-driver Notre 2ème framework de test JavaScript
•Syntaxe proche de JUnit (assertXXX)
•Propose un plugin de mesure de couverture de code
12
http://code.google.com/p/js-test-driver/
Exemple de code js-test-driver
GreeterTest = TestCase("GreeterTest");
GreeterTest.prototype.testGreet = function() {
var greeter = new myapp.Greeter();
assertEquals("Hello World!", greeter.greet("World"));
};
13
14
3. Intégrons !
15
Notre serveur d’intégration continue
•Très facile d'utilisation
•Développement & communauté très actifs
•400+ plugins
16
http://jenkins-ci.org/
@JenkinsCI
17
D’autres choix…
•QUnit : http://docs.jquery.com/QUnit
•YUI Test : http://yuilibrary.com/yui/docs/test/
•Mocha : http://visionmedia.github.com/mocha/
•RhinoUnit : http://code.google.com/p/rhinounit/
• JsUnit : http://www.jsunit.net/
•TestSwarm : https://github.com/jquery/testswarm/
18
Questions…
19