cipherbliss_blog

des tests plus rapides avec jasmine

Jasmine, framework de test en javascipt dispose de quatre fonctions intéressantes pour rendre l'exécution de vos nommmmmmbreux tests JS. Parce que bien sûr, vous testez votre javascript, nesspa?

Bien, donc,on développe des blocs de test avec describe() et it()

vous pouvez demander à jasmine de ne pas exécuter de bloc en utilisant xdescribe() et xit().et vous pouvez lui demander de n'exécuter que certains blocs et assertions avec fdescribe() et fit()

ce qui devrait faire tourner le tout plus vite, notamment si vous avez dans les 500 assertions et que vous bossez seulement sur une certaine partie.

une astuce pour ensuite ne pas faire de push avec ces blocs spéciaux, c'est de se créer un hook sur git.parce que vous utilisez git, nesspa?Bien, donc, avec un terminal ouvert dans votre projet, dans le dossier .git.

touch .git/hooks/pre-commitchmod +x .git/hooks/pre-commit

et mettez y de quoi vérifier que vous n'avez pas de fdescribe( , de fit( dans vos fichiers de tests.

#!/bin/sh# A git pre-commit hook that verifies that the change does not introduce# the use of a Jasmine exclusive test , which would# prevent most other tests from being run without any clear indication thereof FILES_PATTERN='\.(js|coffee)(\..+)?$'FORBIDDEN='fit('git diff --cached --name-only | \    grep -E $FILES_PATTERN | \    GREP_COLOR='4;5;37;41' xargs grep --color --with-filename -n $FORBIDDEN && echo 'COMMIT REJECTED Found "$FORBIDDEN" references. Please remove them before commiting' && exit 1