عداء اختبار صغير (حوالي 80 سطرًا من TypeScript) يركز على البساطة والسرعة
$xv ./src src/add.test.js: 0.103 مللي ثانية src/sub.test.js: 0.064 مللي ثانية
مستخرج من لودب. أسرع عداء اختبار وفقا لهذا المعيار.
إذا كنت قد استخدمت برامج تشغيل أخرى للاختبار، فمن المحتمل أنك قضيت قدرًا كبيرًا من الوقت في قراءة المستندات وتكوينها وصيانتها وتصحيح أخطائها.
من خلال كونه بسيطًا للغاية، فإن xv يبتعد عن طريقك ويتيح لك أن تكون منتجًا بشكل أسرع. في الواقع، وثائق المشروع بأكملها موجودة في هذه الصفحة ;)
تثبيت npm xv --save-dev
أنشئ ملف اختبار واستخدم وحدة assert
المضمنة في Node:
// src/add.test.jsimport تأكيد من 'node:assert/strict'import إضافة من './add.js'// هذا رمز عقدة عادي، لا يوجد xv APIexport function testAdd() { تأكيد.equal(add(1, 2), 3)}
تحرير package.json
:
{ "البرامج النصية": {"اختبار": "xv src" } }
تشغيل الاختبارات:
اختبار npm # تشغيل جميع ملفات الاختبار في ./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 التأكيد = require('assert').strict;const add = require('./add')exports.testAdd = function() { تأكيد.equal(add(1, 2), 3)}
xv لا يحتوي على وضع الساعة. إذا كانت هذه الميزة مطلوبة، فمن المستحسن استخدام أدوات مثل watchexec أو chokidar-cli لإعادة تشغيل xv عندما تكون هناك تغييرات.