Um pequeno executor de testes (cerca de 80 linhas de TypeScript) focado na simplicidade e velocidade
$ xv./src src/add.test.js: 0,103ms src/sub.test.js: 0,064ms
Extraído de lowdb. O executor de testes mais rápido de acordo com este benchmark.
Se você usou outros executores de testes, provavelmente gastou uma quantidade significativa de tempo lendo documentos, configurando, mantendo e depurando-os.
Por ser extremamente simples, o xv sai do seu caminho e permite que você seja produtivo com mais rapidez. Na verdade, toda a documentação do projeto cabe nesta página ;)
npm instalar xv --save-dev
Crie um arquivo de teste e use o módulo assert
integrado do Node:
// src/add.test.jsimport assert from 'node:assert/strict'import add from './add.js'// Este é um código Node simples, não há função xv APIexport testAdd() { assert.equal(adicionar(1, 2), 3)}
Edite package.json
:
{ "scripts": {"teste": "xv src" } }
Execute testes:
npm test # executa todos os arquivos de teste em ./srcnpx xv src/add.test.js # executa um único arquivo de teste
Por padrão, xv procurará arquivos chamados: *.test.js
, test.js
, *.test.ts
e test.ts
npm instala ts-node --save-dev
{ "scripts": {"teste": "xv --loader=ts-node/esm src" } }
Compile seus arquivos .ts
usando tsc
e execute xv
em arquivos .js
compilados.
Por exemplo, supondo que seus arquivos compilados estejam em lib/
, edite package.json
para executar xv
após tsc
:
{ "scripts": {"teste": "tsc && xv lib" } }
Se você estiver publicando no npm, edite package.json
para excluir arquivos de teste compilados:
{ "arquivos": ["lib","!lib/**/*.test.js","!lib/**/test.js" ] }
// src/add.test.jsconst assert = require('assert').strict;const add = require('./add')exports.testAdd = function() { assert.equal(adicionar(1, 2), 3)}
xv não tem modo de observação. Se o recurso for necessário, é recomendado usar ferramentas como watchexec ou chokidar-cli para executar novamente o xv quando houver alterações.