0Pricing
jQuery Academy · درس

إعداد بيئة الاختبار

هيّئ بيئة اختبار باستخدام أدوات مثل Jest أو QUnit، وأعدّ التأكيدات للتحقق من سلوك دوال وإضافات jQuery.

إعداد بيئة الاختبار درس مجاني في jQuery Academy على CoddyKit. هذا هو الدرس 2 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في jQuery Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة jQuery Academy 3 دروس في المجموع.

لماذا تختبر تعليمات jQuery البرمجية؟

تُعد كتابة اختبارات لتعليمات jQuery البرمجية أمرًا بالغ الأهمية لبناء تطبيقات ويب قوية وسهلة الصيانة. فهي تساعد في اكتشاف الأخطاء مبكرًا، وتضمن أن تعمل التعليمات البرمجية كما هو متوقع.

  • منع التراجعات: يضمن ألا تؤدي التغييرات الجديدة إلى تعطيل الوظائف الحالية.
  • تحسين جودة التعليمات البرمجية: يجبرك على كتابة تعليمات برمجية تركيبية قابلة للاختبار.
  • تسهيل التعاون: يوفر توثيقًا واضحًا لكيفية عمل المكوّنات.

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

لاختبار JavaScript، بما في ذلك jQuery، تحتاج إلى مشغّل اختبارات. تنفذ هذه الأداة اختباراتك وتعرض نتائجها.

من الخيارات الشائعة:

  • Jest: إطار اختبار حديث وغني بالميزات من Facebook، يُستخدم على نطاق واسع مع React، لكنه مناسب لأي JavaScript.
  • QUnit: إطار اختبار مخصص لـ jQuery، وهو أبسط لكنه أقل غنى بالميزات من Jest.

سنركز في هذا الدرس على إعداد Jest نظرًا إلى ميزاته الشاملة وانتشاره الواسع.

تهيئة مشروعك (Node.js)

قبل تثبيت Jest، تحتاج إلى مشروع Node.js. وإذا لم يكن لديك مشروع، يمكنك إنشاؤه بسهولة.

انتقل إلى مجلد مشروعك في الطرفية وشغّل:

npm init -y

ينشئ هذا الأمر ملف package.json الذي يدير تبعيات مشروعك وبرامجك النصية.

تثبيت Jest وJSDOM

حان الآن وقت تثبيت Jest. وبما أن jQuery تتفاعل غالبًا مع DOM في المتصفح (نموذج كائن المستند)، فستحتاج أيضًا إلى jest-environment-jsdom. توفر JSDOM بيئة شبيهة بالمتصفح داخل Node.js، بحيث تتمكن تعليمات jQuery البرمجية من معالجة DOM افتراضي.

ثبّتهما كتبَعيات للتطوير:

npm install --save-dev jest jest-environment-jsdom

يضيف هذا Jest وJSDOM إلى package.json.

تهيئة Jest لـ JSDOM

لإخبار Jest باستخدام JSDOM، تحتاج إلى تهيئته. يمكنك القيام بذلك بإضافة برنامج نصي باسم test إلى package.json، أو بإنشاء ملف jest.config.js.

الخيار 1: في package.json

{
  "name": "my-jquery-app",
  "version": "1.0.0",
  "scripts": {
    "test": "jest --env=jsdom"
  },
  "devDependencies": {
    "jest": "^29.x.x",
    "jest-environment-jsdom": "^29.x.x"
  }
}

يضمن الخيار --env=jsdom تشغيل Jest للاختبارات في بيئة JSDOM.

ملف الاختبار الأول

يبحث Jest عن ملفات الاختبار في مجلد __tests__ أو في الملفات التي ينتهي اسمها بـ .test.js (أو .spec.js). لننشئ ملف اختبار بسيطًا.

أنشئ مجلدًا باسم __tests__ في جذر مشروعك، ثم أضف ملفًا مثل __tests__/my-feature.test.js:

// __tests__/my-feature.test.js

describe('My Feature', () => {
  test('should do something basic', () => {
    // Test logic will go here
  });
});

تجمع describe الاختبارات المرتبطة، بينما تعرّف test (أو it) حالة اختبار فردية.

استيراد jQuery للاختبارات

لاختبار تعليمات jQuery البرمجية، تحتاج إلى استيراد jQuery نفسها إلى ملف الاختبار. يمكنك تثبيت jQuery عبر npm باستخدام: npm install jquery.

بعد ذلك، يمكنك استيرادها في ملف الاختبار:

// __tests__/my-feature.test.js
const $ = require('jquery');

describe('My jQuery Feature', () => {
  // Setup for each test
  beforeEach(() => {
    // Create a fresh DOM element for each test
    document.body.innerHTML = '
Hello
'; }); test('should add a class to the element', () => { const element = $('#test-element'); element.addClass('highlight'); expect(element.hasClass('highlight')).toBe(true); }); });

كتابة التوكيدات الأساسية

التوكيدات هي الطريقة التي تتحقق بها من أن التعليمات البرمجية تعمل بشكل صحيح. يستخدم Jest الدالة expect() مع أدوات المطابقة لإنشاء التوكيدات.

إليك مثالًا بسيطًا بلغة JavaScript (ليس خاصًا بـ jQuery، لكنه يوضّح التوكيدات):

function addNumbers(a, b) {
  return a + b;
}

// Example of how Jest would test this:
// expect(addNumbers(2, 3)).toBe(5);
// expect(addNumbers(-1, 1)).toBe(0);

console.log("2 + 3 = " + addNumbers(2, 3));
console.log("5 + 10 = " + addNumbers(5, 10));

أدوات المطابقة الشائعة في Jest

يوفر Jest مجموعة غنية من أدوات المطابقة. إليك بعض الأدوات الشائعة التي ستستخدمها:

  • .toBe(value): يتحقق من التطابق التام (مثل ===).
  • .toEqual(value): يتحقق من التطابق العميق للكائنات أو المصفوفات.
  • .not.toBe(value): يتحقق من عدم التطابق.
  • .toBeTruthy() / .toBeFalsy(): يتحقق من كون القيمة صادقة أو زائفة.
  • .toContain(item): يتحقق مما إذا كانت المصفوفة أو السلسلة النصية تحتوي على عنصر.

مع jQuery، ستجمع هذه الأدوات غالبًا مع أساليب jQuery، مثل expect($element.text()).toBe('Expected Text');

تشغيل اختباراتك

بعد إعداد ملفات الاختبار، يصبح تشغيلها بسيطًا. استخدم فقط البرنامج النصي الذي عرّفناه في package.json:

npm test

سيعثر Jest على جميع ملفات الاختبار، ويشغّلها في بيئة JSDOM، ويعرض النتائج في الطرفية. وسيُظهر لك الاختبارات التي نجحت والتي فشلت، كما يوفر تفاصيل عن حالات الفشل.

تحقق سريع من الإعداد

لقد تعلمت كيفية إعداد بيئة اختبار لـ jQuery باستخدام Jest وJSDOM. ما الأوامر والإعدادات التالية الضرورية لإعداد Jest أساسي مع دعم DOM؟

مراجعة: إعداد بيئة الاختبار

لقد تعلمت في هذا الدرس كيفية إعداد بيئة اختبار قوية لتطبيقات jQuery باستخدام Jest.

  • هيّأنا مشروع Node.js باستخدام npm init.
  • ثبّتنا Jest وjest-environment-jsdom لمحاكاة بيئة المتصفح.
  • هيّأنا Jest في package.json لاستخدام JSDOM.
  • فهمنا كيفية تنظيم ملفات الاختبار، واستيراد jQuery، وكتابة التوكيدات الأساسية باستخدام أدوات المطابقة في Jest.

تتيح لك هذه الأسس كتابة اختبارات فعالة تضمن موثوقية تعليمات jQuery البرمجية وسهولة صيانتها.

الأسئلة الشائعة

هل درس «إعداد بيئة الاختبار» مجاني؟

نعم — نص درس «إعداد بيئة الاختبار» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة jQuery Academy، انتقل إلى CoddyKit PRO. تتضمن دورة jQuery Academy 3 دروس في المجموع.

ماذا ستتعلم في «إعداد بيئة الاختبار»؟

هيّئ بيئة اختبار باستخدام أدوات مثل Jest أو QUnit، وأعدّ التأكيدات للتحقق من سلوك دوال وإضافات jQuery. تتمرن على jQuery Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ jQuery Academy؟

لا تُشترط خبرة سابقة. jQuery Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 3.

كم من الوقت يستغرق درس «إعداد بيئة الاختبار»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس jQuery Academy هذا؟

نعم. كل درس في jQuery Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. مقدمة إلى اختبار وحدات jQuery
  2. إعداد بيئة الاختبار
  3. كتابة اختبارات jQuery فعّالة
← العودة إلى jQuery Academy