async
/ await
$ npm install --save-dev uvu
Confira
/examples
para uma lista de demonstrações de trabalho!
// tests/demo.js
import { test } from 'uvu' ;
import * as assert from 'uvu/assert' ;
test ( 'Math.sqrt()' , ( ) => {
assert . is ( Math . sqrt ( 4 ) , 2 ) ;
assert . is ( Math . sqrt ( 144 ) , 12 ) ;
assert . is ( Math . sqrt ( 2 ) , Math . SQRT2 ) ;
} ) ;
test ( 'JSON' , ( ) => {
const input = {
foo : 'hello' ,
bar : 'world'
} ;
const output = JSON . stringify ( input ) ;
assert . snapshot ( output , `{"foo":"hello","bar":"world"}` ) ;
assert . equal ( JSON . parse ( output ) , input , 'matches original' ) ;
} ) ;
test . run ( ) ;
Em seguida, execute este arquivo de teste:
# via `uvu` cli, for all `/tests/**` files
$ uvu -r esm tests
# via `node` directly, for file isolation
$ node -r esm tests/demo.js
Nota: O
-r esm
é para versões legadas do Node.js. Saber mais
Veja a documentação da CLI
uvu
O módulo uvu/assert
é totalmente opcional.
Na verdade, você pode usar qualquer biblioteca de asserções, incluindo o módulo assert
nativo do Node! Isso funciona porque uvu
depende de erros lançados para detectar falhas. Implicitamente, isso também significa que quaisquer exceções não detectadas e/ou rejeições Promise
não tratadas resultarão em falha, que é o que você deseja!
uvu
Veja a documentação da API
uvu
A entrada principal da qual você importará os métodos test
ou suite
.
uvu/assert
Veja a documentação da API
uvu/assert
Uma coleção de métodos de asserção para usar em seus testes. Observe que:
através do diretório
/bench
com Node v10.21.0
Abaixo você encontrará cada executor de teste com dois valores de tempo:
took ___
é o tempo total de execução do processo – desde a inicialização até o encerramento(___)
) é o tempo de execução auto-relatado, se conhecido stdout
de cada executor de teste é impresso no console para verificar se todas as asserções foram aprovadas.
A referida saída é excluída abaixo por questões de brevidade.
~> "ava" took 594ms ( ??? )
~> "jest" took 962ms (356 ms)
~> "mocha" took 209ms ( 4 ms)
~> "tape" took 122ms ( ??? )
~> "uvu" took 72ms ( 1.3ms)
MIT © Luke Edwards