ตัวทดสอบ TypeScript ขนาดเล็ก (ประมาณ 80 บรรทัด) เน้นไปที่ความเรียบง่ายและรวดเร็ว
$xv ./src src/add.test.js: 0.103ms src/sub.test.js: 0.064ms
แยกมาจาก lowdb. นักวิ่งทดสอบที่เร็วที่สุดตามเกณฑ์มาตรฐานนี้
หากคุณเคยใช้ตัวดำเนินการทดสอบอื่นๆ คุณอาจใช้เวลาเป็นจำนวนมากในการอ่านเอกสาร กำหนดค่า บำรุงรักษา และแก้ไขข้อบกพร่องเหล่านั้น
ด้วยความเรียบง่ายอย่างยิ่ง xv จะทำให้คุณทำงานได้อย่างมีประสิทธิภาพเร็วขึ้น อันที่จริงเอกสารประกอบโครงการทั้งหมดพอดีกับหน้านี้ ;)
npm ติดตั้ง xv --save-dev
สร้างไฟล์ทดสอบและใช้โมดูล assert
ในตัวของ Node:
// src/add.test.jsimport assert from 'node:assert/strict'import add from './add.js'// นี่เป็นโค้ดโหนดธรรมดา ไม่มีฟังก์ชัน xv APIexport testAdd() { assert.equal(เพิ่ม(1, 2), 3)}
แก้ไข package.json
:
{ "สคริปต์": {"ทดสอบ": "xv src" - -
ทำการทดสอบ:
npm test # รันไฟล์ทดสอบทั้งหมดใน ./srcnpx xv src/add.test.js # รันไฟล์ทดสอบไฟล์เดียว
ตามค่าเริ่มต้น xv จะค้นหาไฟล์ชื่อ: *.test.js
, test.js
, *.test.ts
และ test.ts
npm ติดตั้ง ts-node --save-dev
{ "สคริปต์": {"ทดสอบ": "xv --loader=ts-node/esm src" - -
คอมไพล์ไฟล์ .ts
ของคุณโดยใช้ tsc
และรัน xv
กับไฟล์ .js
ที่คอมไพล์แล้ว
ตัวอย่างเช่น สมมติว่าไฟล์ที่คอมไพล์ของคุณอยู่ใน lib/
ให้แก้ไข package.json
เพื่อรัน xv
หลังจาก tsc
:
{ "สคริปต์": {"ทดสอบ": "tsc && xv lib" - -
หากคุณกำลังเผยแพร่เป็น npm ให้แก้ไข package.json
เพื่อยกเว้นไฟล์ทดสอบที่คอมไพล์แล้ว:
{ "ไฟล์": ["lib","!lib/**/*.test.js","!lib/**/test.js" - -
// src/add.test.jsconst assert = need('assert').strict;const add = need('./add')exports.testAdd = function() { assert.equal(เพิ่ม(1, 2), 3)}
xv ไม่มีโหมดนาฬิกา หากจำเป็นต้องใช้คุณสมบัตินี้ ขอแนะนำให้ใช้เครื่องมือเช่น watchexec หรือ chokidar-cli เพื่อรัน xv อีกครั้งเมื่อมีการเปลี่ยนแปลง