orgmode-to-gemini-blog/sources/cipherbliss_blog/lang_fr/20150701T120014__des-tests-plus-rapides-avec-jasmine.org

68 lines
2.3 KiB
Org Mode
Raw Normal View History

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
#+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