async
/ await
$ npm install --save-dev uvu
Lihat
/examples
untuk mengetahui daftar demo yang berfungsi!
// 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 ( ) ;
Kemudian jalankan file tes ini:
# via `uvu` cli, for all `/tests/**` files
$ uvu -r esm tests
# via `node` directly, for file isolation
$ node -r esm tests/demo.js
Catatan:
-r esm
ditujukan untuk versi Node.js yang lama. Pelajari Lebih Lanjut
Lihat dokumentasi
uvu
CLI
Modul uvu/assert
sepenuhnya opsional.
Faktanya, Anda dapat menggunakan perpustakaan pernyataan apa pun, termasuk modul assert
asli Node! Ini berfungsi karena uvu
mengandalkan Kesalahan yang dilempar untuk mendeteksi kegagalan. Secara implisit, ini juga berarti bahwa setiap pengecualian yang tidak tertangkap dan/atau penolakan Promise
yang tidak ditangani akan mengakibatkan kegagalan, dan itulah yang Anda inginkan!
uvu
Lihat dokumentasi
uvu
API
Entri utama tempat Anda akan mengimpor metode test
atau suite
.
uvu/assert
Lihat dokumentasi API
uvu/assert
Kumpulan metode pernyataan untuk digunakan dalam pengujian Anda. Harap dicatat bahwa:
melalui direktori
/bench
dengan Node v10.21.0
Di bawah ini Anda akan menemukan setiap test runner dengan dua nilai waktu:
took ___
adalah total waktu eksekusi proses – mulai dari permulaan hingga penghentian(___)
) adalah waktu eksekusi yang dilaporkan sendiri, jika diketahui stdout
setiap test runner dicetak ke konsol untuk memverifikasi semua pernyataan yang lolos.
Keluaran tersebut dikecualikan di bawah agar singkatnya.
~> "ava" took 594ms ( ??? )
~> "jest" took 962ms (356 ms)
~> "mocha" took 209ms ( 4 ms)
~> "tape" took 122ms ( ??? )
~> "uvu" took 72ms ( 1.3ms)
MIT © Luke Edwards