Un petit programme d'exécution de tests (~ 80 lignes de TypeScript) axé sur la simplicité et la rapidité
$ XV ./src src/add.test.js : 0,103 ms src/sub.test.js : 0,064 ms
Extrait de lowdb. Testeur le plus rapide selon ce benchmark.
Si vous avez utilisé d'autres programmes d'exécution de tests, vous avez probablement passé beaucoup de temps à lire des documents, à les configurer, à les maintenir et à les déboguer.
En étant extrêmement simple, xv s'écarte de votre chemin et vous permet d'être productif plus rapidement. En fait, toute la documentation du projet tient dans cette page ;)
npm installer xv --save-dev
Créez un fichier de test et utilisez le module assert
intégré de Node :
// src/add.test.jsimport assert from 'node:assert/strict'import add from './add.js'// Ceci est du code Node simple, il n'y a pas de fonction xv APIexport testAdd() { assert.equal(ajouter(1, 2), 3)}
Editer package.json
:
{ "scripts": {"test": "xvsrc" } }
Exécutez des tests :
npm test # exécute tous les fichiers de test dans ./srcnpx xv src/add.test.js # exécute un seul fichier de test
Par défaut, xv recherchera les fichiers nommés : *.test.js
, test.js
, *.test.ts
et test.ts
npm installer ts-node --save-dev
{ "scripts": {"test": "xv --loader=ts-node/esm src" } }
Compilez vos fichiers .ts
à l'aide de tsc
et exécutez xv
sur les fichiers .js
compilés.
Par exemple, en supposant que vos fichiers compilés sont dans lib/
, modifiez package.json
pour exécuter xv
après tsc
:
{ "scripts": {"test": "tsc && xv lib" } }
Si vous publiez sur npm, modifiez package.json
pour exclure les fichiers de test compilés :
{ "files": ["lib","!lib/**/*.test.js","!lib/**/test.js" ] }
// src/add.test.jsconst assert = require('assert').strict;const add = require('./add')exports.testAdd = function() { assert.equal(ajouter(1, 2), 3)}
xv n'a pas de mode montre. Si la fonctionnalité est nécessaire, il est recommandé d'utiliser des outils tels que watchexec ou chokidar-cli pour réexécuter xv en cas de modifications.