2024-11-19 13:49:39 +01:00
: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
2024-11-19 23:50:42 +01:00
#+post_tags :
2024-11-19 13:49:39 +01:00
#+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:
2025-05-13 10:23:48 +02:00
[[https://ellem.ca/wp-content/uploads/2013/07/JASMINE.jpg ]]
2024-11-19 13:49:39 +01:00
2025-05-13 10:23:48 +02:00
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?
2024-11-19 13:49:39 +01:00
2025-05-13 10:23:48 +02:00
Bien, donc,on développe des blocs de test avec *describe()* et *it()*
2024-11-19 13:49:39 +01:00
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.
2024-11-19 23:50:42 +01:00
2024-11-19 13:49:39 +01:00
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.
2024-11-19 23:50:42 +01:00
2025-05-13 10:23:48 +02:00
#+begin_src bash
2024-11-19 13:49:39 +01:00
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.
2024-11-19 23:50:42 +01:00
2025-05-13 10:23:48 +02:00
#+begin_src 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 there of
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
2024-11-19 13:49:39 +01:00
#+end_src