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
เป็นทางเลือก โดยสมบูรณ์
ในความเป็นจริง คุณสามารถใช้ไลบรารีการยืนยันใดๆ รวมถึงโมดูล assert
ดั้งเดิมของ Node! วิธีนี้ใช้ได้ผลเพราะ uvu
อาศัยข้อผิดพลาดที่ส่งออกมาเพื่อตรวจจับความล้มเหลว โดยปริยาย นี่ยังหมายความว่าข้อยกเว้นที่ไม่ได้รับการจัดการและ/หรือการปฏิเสธ Promise
ที่ไม่สามารถจัดการได้จะส่งผลให้เกิดความล้มเหลว ซึ่งเป็นสิ่งที่คุณต้องการ!
uvu
ดูเอกสารประกอบ
uvu
API
รายการหลักที่คุณจะนำเข้าวิธี test
หรือ suite
โปรแกรม
uvu/assert
ดูเอกสารประกอบ
uvu/assert
API
ชุดวิธีการยืนยันเพื่อใช้ในการทดสอบของคุณ โปรดทราบว่า:
ผ่านไดเร็กทอรี
/bench
ด้วย Node v10.21.0
ด้านล่างนี้คุณจะพบกับนักวิ่งทดสอบแต่ละคนที่มีค่าจังหวะเวลาสองค่า:
took ___
คือเวลาดำเนินการกระบวนการทั้งหมดตั้งแต่เริ่มต้นจนถึงสิ้นสุด(___)
) คือเวลาดำเนินการที่รายงานด้วยตนเอง หากทราบ stdout
ของผู้ทดสอบแต่ละคนจะถูกพิมพ์ไปที่คอนโซลเพื่อยืนยันว่าการยืนยันทั้งหมดผ่าน
เอาต์พุตดังกล่าวไม่รวมอยู่ในด้านล่างนี้เพื่อความกระชับ
~> "ava" took 594ms ( ??? )
~> "jest" took 962ms (356 ms)
~> "mocha" took 209ms ( 4 ms)
~> "tape" took 122ms ( ??? )
~> "uvu" took 72ms ( 1.3ms)
MIT © ลุค เอ็ดเวิร์ดส์