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
الأصلية الخاصة بالعقدة! يعمل هذا لأن uvu
يعتمد على الأخطاء التي تم طرحها لاكتشاف حالات الفشل. وهذا يعني ضمنيًا أيضًا أن أي استثناءات لم يتم اكتشافها و/أو رفض Promise
لم تتم معالجته سيؤدي إلى الفشل، وهو ما تريده!
uvu
عرض وثائق واجهة برمجة تطبيقات
uvu
الإدخال الرئيسي الذي ستستورد منه أساليب test
أو suite
.
uvu/assert
عرض وثائق واجهة برمجة التطبيقات
uvu/assert
مجموعة من أساليب التأكيد لاستخدامها في اختباراتك. يرجى ملاحظة أن:
عبر الدليل
/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)
معهد ماساتشوستس للتكنولوجيا © لوك إدواردز