uvu
v0.5.6
async
/ await
測試 $ npm install --save-dev uvu
查看
/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 ( ) ;
然後執行這個測試檔:
# via `uvu` cli, for all `/tests/**` files
$ uvu -r esm tests
# via `node` directly, for file isolation
$ node -r esm tests/demo.js
注意:
-r esm
適用於舊版 Node.js 版本。了解更多
查看
uvu
CLI 文檔
uvu/assert
模組是完全可選的。
事實上,您可以使用任何斷言庫,包括 Node 的本機assert
模組!這是可行的,因為uvu
依賴拋出的錯誤來偵測故障。隱含地,這也意味著任何未捕獲的異常和/或未處理的Promise
拒絕都會導致失敗,這正是您想要的!
uvu
查看
uvu
API文檔
您將從中匯入test
或suite
方法的主條目。
uvu/assert
查看
uvu/assert
API文檔
在測試中使用的斷言方法的集合。請注意:
透過 Node v10.21.0 的
/bench
目錄
下面您將發現每個測試運行程式都有兩個計時值:
took ___
值是總的行程執行時間-從啟動到終止(___)
) 是自我報告的執行時間(如果已知)每個測試運行程序的stdout
都會列印到控制台以驗證所有斷言是否通過。
為了簡潔起見,下面排除了所述輸出。
~> "ava" took 594ms ( ??? )
~> "jest" took 962ms (356 ms)
~> "mocha" took 209ms ( 4 ms)
~> "tape" took 122ms ( ??? )
~> "uvu" took 72ms ( 1.3ms)
麻省理工學院©盧克‧愛德華茲