Archives par mot-clef : test unitaire

Bon, ça va faire 20 ans (en octobre 2014) que les tests unitaires sont un concept publique, il va peut-être falloir s’y mettre. Non ? Alors, on va tester efficacement avec Karma et Jasmine ou Mocha, au choix. Ou autre, vous allez comprendre plus tard. Karma Anciennement connu sous le nom de Testacular. C’est un outil qui va déclencher votre suite de tests, la maintenir en exécution et vous permettre de l’organiser. En gros, vous lui expliquez rapidement le contexte et vous n’avez plus qu’à vous concentrer sur vos tests. Jasmine, Mocha, ce que vous voulez Vous prenez n’importe quel framework de tests compatible avec Karma. Je ne connais pas de framework de test un minimum publique qui ne soit pas compatible. Personnellement j’ai un faible pour Mocha même si je m’amuse avec Jasmine en ce moment. Vous pouvez même utiliser les … Continuer la lecture

Salut à tous ! Aujourd’hui, l’idée, c’est de vous aider à choisir vos plugins pour jQuery et faire le tri dans ce gigantesque fourre-tout. Critère 1 : Communauté Comme pour tous les systèmes de plugins, si le plugin n’est pas sur GitHub/BitBucket, c’est déjà mal barré. Si en plus il n’a que peu d’étoiles/forks, laissez tomber, ça veut dire que personne ne l’utilise. C’est qu’il y a sûrement une raison. Critère 2 : Peu voire pas de CSS Le style, ça se manipule avec le CSS, pas avec le JS. Énormément de plugins font juste des modifs de CSS (genre rendre votre site responsive, si si). Sortez vous les doigts des fesses et faites le avec la bonne chose, c’est à dire directement en CSS. En plus de bousillez inutilement vos performances, ces plugins font souvent très mal le travail. Critère 3 … Continuer la lecture

Une assertion est un terme utilisé dans le cadre des tests unitaires. Elle définit un appel de fonction qui est censée retourner true. Ce sont l’ensemble des assertions qui constituent les tests effectifs. Si toutes les assertions répondent vraies, le test est donc valide. Exemple, avec MochaJS, outil de tests unitaires pour JavaScript : var assert = require("assert"); describe('Array', function(){ describe('#indexOf()', function(){ // ici, on annonce le début du test it('should return -1 when the value is not present', function(){ // Ceci est une assertion, répondant vrai assert.equal(-1, [1,2,3].indexOf(5)); // Ceci en est une autre, répondant faux assert.equal(-1, [1,2,3].indexOf(3)); }) }) }) Ici les assertions sont tous les appels à l’objet assert. La fonction it() est le test effectif.

Bon bah dans ma logique habituelle de recherche de l’IDE ultime, je ne pouvais pas ne pas tester WebStorm 3. L’IDE de JetBrains qui prétend carrément être « le meilleur IDE pour JavaScript avec éditeur HTML ». Rien que ça déjà, je suis pas fan. Mais bon, c’est pas en disant qu’on fait de la m*rde qu’on vend. On commence par les trucs annoncés : intégration de JSLint (ça c’est cool), de NodeJS (ouf) et de CoffeeScript (pareil : ouf). Jusque là, honnêtement, ça présente bien. Je commence le test, la présentation des fonctionnalités ne ment pas. On a affaire à une auto-complétion présente et efficace (y compris pour le HTML, j’aime toujours autant avoir la complétion sur mes chemins de média), le refactoring de code est plutôt utile (c’est vrai que ça manque dans beaucoup d’IDE). JsTestDriver, un plugin maison, est utilisé … Continuer la lecture

Comme dit hier dans ma chronique, certaines choses commencent à me fatiguer et il est temps de remettre les pendules à l’heure. Ou à minima que je pousse mon coup de gueule, ça fait toujours du bien. jquip est une fausse bonne idée ! Bon en fait, ce n’est pas que jquip mais toute tentative de construire une version personnalisée de jQuery ou de n’importe quel autre framework « populaire ». Pourquoi ? Parce que cela signifie plusieurs choses : vous fragmentez un tout qui a été pensé et conçu comme tel ; vous rendez la maintenance de votre application/site quasi impossible du fait du temps passé à porter vos modifications sur chaque nouvelle version ; vous devez reprendre tous les tests unitaires et y porter les modifs nécessaires pour éliminer les tests qui concernent vos suppressions (ah ah rien qu’à cette … Continuer la lecture

Frédéric Hardy, aka mageekguy, a bien voulu répondre à quelques questions au sujet d’Atoum, son framework de tests unitaires pour PHP. Continuer la lecture