Un pequeño ejecutor de pruebas (~80 líneas de TypeScript) centrado en la simplicidad y la velocidad.
$ xv ./src src/add.test.js: 0,103ms src/sub.test.js: 0,064 ms
Extraído de lowdb. El corredor de pruebas más rápido según este punto de referencia.
Si ha utilizado otros ejecutores de pruebas, probablemente haya dedicado una cantidad significativa de tiempo a leer documentos, configurarlos, mantenerlos y depurarlos.
Al ser extremadamente simple, xv se aparta de tu camino y te permite ser productivo más rápido. De hecho, toda la documentación del proyecto cabe en esta página ;)
npm instala xv --save-dev
Cree un archivo de prueba y use el módulo assert
integrado de Node:
// src/add.test.jsimport afirmar desde 'node:assert/strict'import agregar desde './add.js'// Este es código de nodo simple, no hay una función xv APIexport testAdd() { afirmar.equal(agregar(1, 2), 3)}
Editar package.json
:
{ "scripts": {"prueba": "xv src" } }
Ejecutar pruebas:
npm test # ejecuta todos los archivos de prueba en ./srcnpx xv src/add.test.js # ejecuta un solo archivo de prueba
De forma predeterminada, xv buscará archivos denominados: *.test.js
, test.js
, *.test.ts
y test.ts
npm instala ts-node --save-dev
{ "scripts": {"test": "xv --loader=ts-node/esm src" } }
Compile sus archivos .ts
usando tsc
y ejecute xv
en archivos .js
compilados.
Por ejemplo, suponiendo que sus archivos compilados estén en lib/
, edite package.json
para ejecutar xv
después de tsc
:
{ "scripts": {"prueba": "tsc && xv lib" } }
Si publica en npm, edite package.json
para excluir los archivos de prueba compilados:
{ "archivos": ["lib","!lib/**/*.test.js","!lib/**/test.js" ] }
// src/add.test.jsconst afirmar = require('assert').strict;const agregar = require('./add')exports.testAdd = function() { afirmar.equal(agregar(1, 2), 3)}
xv no tiene modo de reloj. Si se necesita la función, se recomienda utilizar herramientas como watchexec o chokidar-cli para volver a ejecutar xv cuando haya cambios.