:PROPERTIES: :ID: 1b2dd95c-45ab-402b-b761-682dc55c7fbc :END: #+title: des-tests-plus-rapides-avec-jasmine #+post_ID: 213 #+post_slug: des-tests-plus-rapides-avec-jasmine #+post_url: https://www.ciperbliss.com/2015/des-tests-plus-rapides-avec-jasmine #+post_title: des tests plus rapides avec jasmine #+post_tags: null #+post_type: post #+post_mime_types: #+post_guid: undefined #+post_status: publish #+post_date_published: <2015-07-01T12:00:14> #+post_date_modified: <2015-07-03T08:31:00> #+post_index_page_roam_id: fa7f2a8c-2b94-4e42-bb4c-25c026ed7ff9 #+retrieved_from_db_at: <2024-11-18 16:25:08> * des tests plus rapides avec jasmine :PROPERTIES: :CUSTOM_ID: des-tests-plus-rapides-avec-jasmine :END: [[http://ellem.ca/wp-content/uploads/2013/07/JASMINE.jpg]]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. #+begin_src brush:bash touch .git/hooks/pre-commitchmod +x .git/hooks/pre-commit #+end_src et mettez y de quoi vérifier que vous n'avez pas de fdescribe( , de fit( dans vos fichiers de tests. #+begin_src brush:bash #!/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 #+end_src