Skip to content

تحدد آلية اكتشاف ملفات اختبار bun test الملفات التي سيتم تشغيلها كاختبارات. فهم كيفية عملها يساعدك في هيكلة ملفات الاختبار بشكل فعال.

منطق الاكتشاف الافتراضي

افتراضيًا، يبحث bun test بشكل متكرر في دليل المشروع عن الملفات التي تطابق أنماطًا محددة:

  • *.test.{js|jsx|ts|tsx} - الملفات التي تنتهي بـ .test.js أو .test.jsx أو .test.ts أو .test.tsx
  • *_test.{js|jsx|ts|tsx} - الملفات التي تنتهي بـ _test.js أو _test.jsx أو _test.ts أو _test.tsx
  • *.spec.{js|jsx|ts|tsx} - الملفات التي تنتهي بـ .spec.js أو .spec.jsx أو .spec.ts أو .spec.tsx
  • *_spec.{js|jsx|ts|tsx} - الملفات التي تنتهي بـ _spec.js أو _spec.jsx أو _spec.ts أو _spec.tsx

الاستبعادات

افتراضيًا، يتجاهل اختبار Bun:

  • أدلة node_modules
  • الأدلة المخفية (تلك التي تبدأ بنقطة .)
  • الملفات التي ليس لها امتدادات شبيهة بالجافا سكريبت (بناءً على المحملات المتاحة)

تخصيص اكتشاف الاختبار

وسيطات الموضع كمرشحات

يمكنك تصفية ملفات الاختبار التي يتم تشغيلها عن طريق تمرير وسيطات موضعية إضافية إلى bun test:

bash
bun test <filter> <filter> ...

أي ملف اختبار يحتوي مساره على أحد المرشحات سيتم تشغيله. هذه المرشحات هي مطابقات سلسلة بسيطة، وليست أنماط glob.

على سبيل المثال، لتشغيل جميع الاختبارات في دليل utils:

bash
bun test utils

هذا سيطابق ملفات مثل src/utils/string.test.ts و lib/utils/array_test.js.

تحديد مسارات الملفات الدقيقة

لتشغيل ملف محدد في عداء الاختبار، تأكد من أن المسار يبدأ بـ ./ أو / لتمييزه عن اسم مرشح:

bash
bun test ./test/specific-file.test.ts

التصفية حسب اسم الاختبار

لتصفية الاختبارات حسب الاسم بدلاً من مسار الملف، استخدم العلم -t/--test-name-pattern مع نمط regex:

sh
# تشغيل جميع الاختبارات التي تحتوي على "addition" في الاسم
bun test --test-name-pattern addition

يتم مطابقة النمط مع سلسلة مجمعة من اسم الاختبار مسبوقًا بتسميات جميع كتل describe الأصلية، مفصولة بمسافات. على سبيل المثال، اختبار معرّف كالتالي:

math.test.ts
ts
describe("Math", () => {
  describe("operations", () => {
    test("should add correctly", () => {
      // ...
    });
  });
});

سيتم مطابقته مع السلسلة "Math operations should add correctly".

تغيير الدليل الجذر

افتراضيًا، يبحث Bun عن ملفات الاختبار بدءًا من دليل العمل الحالي. يمكنك تغيير ذلك باستخدام خيار root في bunfig.toml:

bunfig.toml
toml
[test]
root = "src"  # مسح ملفات الاختبار في دليل src فقط

ترتيب التنفيذ

يتم تشغيل الاختبارات بالترتيب التالي:

  1. يتم تشغيل ملفات الاختبار بشكل تسلسلي (ليس بشكل متوازٍ)
  2. داخل كل ملف، يتم تشغيل الاختبارات بشكل تسلسلي بناءً على ترتيب تعريفها

Bun بواسطة www.bunjs.com.cn تحرير