إنشاء اختبارات بسيطة باستخدام Mocha و Chai

بناء اختبار أساسي باستخدام Mocha و Chai

لإنشاء اختبار أساسي باستخدام Mocha و Chai ، يمكنك اتباع الخطوات التالية:

1. التثبيت Mocha و Chai: استخدم npm(مدير حزمة العقدة) للتثبيت Mocha وفي Chai مشروع Node.js الخاص بك. قم بتشغيل الأمر التالي في دليل المشروع الخاص بك:

npm install mocha chai --save-dev

2. قم بإنشاء ملف اختبار: قم بإنشاء ملف جديد ، على سبيل المثال test.js ، واستورد الإعلانات التالية لاستخدامها Mocha و Chai:

const chai = require('chai');  
const expect = chai.expect;  
  
describe('Example Test Suite',() => {  
  it('should pass the test',() => {  
    expect(2 + 2).to.equal(4);  
  });  
});

3. قم بتشغيل الاختبار: افتح المحطة وقم بتشغيل mocha  الأمر لتنفيذ الاختبارات. إذا سارت الأمور بسلاسة ، فسترى النتائج معروضة في المحطة.

يستخدم هذا الاختبار الأساسي Mocha والتحقق Chai من عملية حسابية بسيطة. في المثال أعلاه ، نتحقق من أن نتيجة العملية 2 + 2 يجب أن تكون مساوية لـ 4. إذا كانت النتيجة صحيحة ، فسوف ينجح الاختبار.

من خلال الإضافة describe  والكتل it  ، يمكنك إنشاء اختبارات أكثر تعقيدًا والتحقق من أجزاء مختلفة من شفرة المصدر الخاصة بك.

لاحظ أنه يمكنك أيضًا استخدام طرق التأكيد الأخرى التي يوفرها Chai ، مثل assert أو should ، للاختبار. يعتمد الاستخدام المحدد على اختيارك وكيف تريد تنظيم كود الاختبار الخاص بك.

 

استخدام التأكيدات والاستعلامات للتحقق من نتائج الوظيفة

عند الاستخدام Mocha والاختبار Chai ، يمكنك استخدام التأكيدات والاستعلامات للتحقق من نتائج الوظائف. فيما يلي بعض الأمثلة على استخدام التأكيدات والاستعلامات للتحقق من نتائج الوظيفة:

1. استخدم expect التوكيد والاستعلام to.equal للتحقق من نتيجة دالة تُرجع قيمة معينة:

const result = myFunction();  
expect(result).to.equal(expectedValue);

2. استخدم تأكيد "توقع" والاستعلام to.be.true أو to.be.false للتحقق من نتيجة دالة تُرجع قيمة منطقية:

const result = myFunction();  
expect(result).to.be.true; // or expect(result).to.be.false;

3. استخدم تأكيد "توقع" والاستعلام to.be.null أو to.be.undefined للتحقق من نتيجة دالة تُرجع قيمة خالية أو غير محددة:

const result = myFunction();  
expect(result).to.be.null; // or expect(result).to.be.undefined;

4. استخدم expect التوكيد والاستعلام to.include للتحقق مما إذا كانت القيمة مضمنة في مصفوفة أو سلسلة:

const result = myFunction();  
expect(result).to.include(expectedValue);

5. استخدم expect التوكيد والاستعلام to.have.lengthOf للتحقق من طول مصفوفة أو سلسلة:

const result = myFunction();  
expect(result).to.have.lengthOf(expectedLength);

هذه الأمثلة ليست سوى عدد قليل من العديد من الطرق لاستخدام التأكيدات والاستعلامات في Mocha والتحقق Chai من نتائج الوظائف. يمكنك تخصيص واستخدام التأكيدات والاستفسارات المناسبة بناءً على احتياجات اختبار مشروعك.

 

إنشاء حالات الاختبار الناجحة والفاشلة

عند كتابة حالات الاختبار باستخدام Mocha و Chai ، من المهم تغطية كل من سيناريوهات النجاح والفشل. فيما يلي أمثلة لإنشاء حالات اختبار لكل من سيناريوهات النجاح والفشل:

1. حالة اختبار ناجح:

describe('myFunction',() => {  
  it('should return the expected result',() => {  
    // Arrange  
    const input = // provide the input for the function  
    const expected = // define the expected result  
  
    // Act  
    const result = myFunction(input);  
  
    // Assert  
    expect(result).to.equal(expected);  
  });  
});

2. حالة اختبار الرسوب:

describe('myFunction',() => {  
  it('should throw an error when invalid input is provided',() => {  
    // Arrange  
    const invalidInput = // provide invalid input for the function  
  
    // Act and Assert  
    expect(() => myFunction(invalidInput)).to.throw(Error);  
  });  
});

في حالة الاختبار الناجح ، تقوم بتحديد مدخلات الوظيفة والنتيجة المتوقعة. بعد ذلك ، تقوم باستدعاء الوظيفة مع الإدخال والتأكيد على أن النتيجة تطابق القيمة المتوقعة.

في حالة اختبار الفشل ، تقوم بتوفير إدخال غير صالح للوظيفة وتؤكد أنها تسبب خطأً. هذا يضمن أن الوظيفة تتعامل بشكل صحيح مع الإدخال غير الصحيح أو شروط الخطأ.

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