À propos du projet
Sinon.JS est une bibliothèque de test JavaScript populaire qui fournit un ensemble complet d’outils pour écrire des tests unitaires. La bibliothèque propose trois concepts principaux : les spies, les stubs et les mocks. Les spies enveloppent des fonctions pour enregistrer les appels et les arguments, les stubs remplacent des fonctions par un comportement contrôlé, et les mocks combinent les deux pour vérifier le comportement attendu.
La bibliothèque est conçue pour être autonome et indépendante des frameworks de test, ce qui signifie qu’elle peut être utilisée avec n’importe quel framework de test tel que Mocha, Jasmine, QUnit ou Jest. Elle vise l’absence de pollution globale, la facilité d’utilisation, un minimum d’exigences d’intégration et une intégration transparente avec tout framework de test.
L’installation est simple via npm (`npm install sinon`) ou via des builds navigateur disponibles sur la page d’accueil du projet. La bibliothèque prend également en charge les CDN basés sur npm pour une intégration facile.
Les fonctionnalités clés incluent :
- Spies : enregistrent les appels de fonction, les arguments et les valeurs de retour
- Stubs : remplacent des fonctions par un comportement contrôlé
- Mocks : combinent spies et stubs pour vérifier le comportement attendu
- Fake timers : fakes prêts à l’emploi pour setTimeout, setInterval, Date, etc.
- Aucune pollution globale : une API propre qui ne pollue pas l’espace de noms global
Le projet suit une licence BSD-3 et est activement maintenu avec des contributions de la communauté. Il utilise des tests de contrat basés sur les artefacts pour protéger les API publiques lors des migrations. Le répertoire `lib/` contient la sortie de build générée et n’est pas commité dans le dépôt ; les développeurs peuvent le régénérer localement avec `npm run build`.
Sinon.JS est largement utilisé dans l’écosystème JavaScript pour écrire des tests unitaires fiables et maintenables. Son API propre et sa conception indépendante des frameworks en font un choix polyvalent pour les développeurs travaillant dans différents environnements de test.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.