async
/ await
-Tests $ npm install --save-dev uvu
Eine Liste funktionierender Demos finden Sie unter
/examples
!
// 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 ( ) ;
Führen Sie dann diese Testdatei aus:
# via `uvu` cli, for all `/tests/**` files
$ uvu -r esm tests
# via `node` directly, for file isolation
$ node -r esm tests/demo.js
Hinweis:
-r esm
gilt für ältere Node.js-Versionen. Erfahren Sie mehr
Sehen Sie sich die
uvu
CLI-Dokumentation an
Das uvu/assert
-Modul ist völlig optional.
Tatsächlich können Sie jede beliebige Assertionsbibliothek verwenden, einschließlich des nativen assert
Moduls von Node! Dies funktioniert, weil uvu
auf ausgelöste Fehler angewiesen ist, um Fehler zu erkennen. Implizit bedeutet dies auch, dass alle nicht abgefangenen Ausnahmen und/oder nicht behandelten Promise
Ablehnungen zu einem Fehler führen, was Sie wollen!
uvu
Sehen Sie sich die Dokumentation
uvu
-API an
Der Haupteintrag, aus dem Sie die test
oder suite
-Methoden importieren.
uvu/assert
Sehen Sie sich die Dokumentation
uvu/assert
-API an
Eine Sammlung von Assertionsmethoden zur Verwendung in Ihren Tests. Bitte beachten Sie Folgendes:
über das Verzeichnis
/bench
mit Node v10.21.0
Unten finden Sie jeden Testläufer mit zwei Zeitwerten:
took ___
ist die Gesamtausführungszeit des Prozesses – vom Start bis zur Beendigung(___)
) ist die selbst gemeldete Ausführungszeit, sofern bekannt stdout
jedes Testläufers wird auf der Konsole ausgegeben, um zu überprüfen, ob alle Behauptungen erfolgreich sind.
Der Kürze halber wird diese Ausgabe im Folgenden weggelassen.
~> "ava" took 594ms ( ??? )
~> "jest" took 962ms (356 ms)
~> "mocha" took 209ms ( 4 ms)
~> "tape" took 122ms ( ??? )
~> "uvu" took 72ms ( 1.3ms)
MIT © Luke Edwards