async
/ await
$ npm install --save-dev uvu
Consultez
/examples
pour une liste de démos fonctionnelles !
// 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 ( ) ;
Exécutez ensuite ce fichier de test :
# via `uvu` cli, for all `/tests/**` files
$ uvu -r esm tests
# via `node` directly, for file isolation
$ node -r esm tests/demo.js
Remarque :
-r esm
concerne les anciennes versions de Node.js. Apprendre encore plus
Afficher la documentation de l'interface CLI
uvu
Le module uvu/assert
est complètement facultatif.
En fait, vous pouvez utiliser n'importe quelle bibliothèque d'assertions, y compris le module assert
natif de Node ! Cela fonctionne parce que uvu
s'appuie sur les erreurs générées pour détecter les échecs. Implicitement, cela signifie également que toute exception non détectée et/ou rejet Promise
non géré entraînera un échec, ce que vous souhaitez !
uvu
Afficher la documentation de l'API
uvu
L'entrée principale à partir de laquelle vous importerez les méthodes test
ou suite
.
uvu/assert
Afficher la documentation de l'API
uvu/assert
Une collection de méthodes d'assertion à utiliser dans vos tests. Veuillez noter que :
via le répertoire
/bench
avec Node v10.21.0
Ci-dessous, vous trouverez chaque exécuteur de test avec deux valeurs de timing :
took ___
est la durée totale d'exécution du processus - du démarrage à la fin(___)
) est le temps d'exécution auto-déclaré, s'il est connu stdout
de chaque exécuteur de test est imprimée sur la console pour vérifier que toutes les assertions sont réussies.
Cette sortie est exclue ci-dessous par souci de concision.
~> "ava" took 594ms ( ??? )
~> "jest" took 962ms (356 ms)
~> "mocha" took 209ms ( 4 ms)
~> "tape" took 122ms ( ??? )
~> "uvu" took 72ms ( 1.3ms)
MIT © Luke Edwards