بناء اختبار أساسي باستخدام الموكا والتشاي
لإنشاء اختبار أساسي باستخدام Mocha و Chai ، يمكنك اتباع الخطوات التالية:
1. قم بتثبيت Mocha and Chai: استخدم npm (مدير حزمة Node) لتثبيت 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);
});
});
في حالة الاختبار الناجح ، تقوم بتحديد مدخلات الوظيفة والنتيجة المتوقعة. بعد ذلك ، تقوم باستدعاء الوظيفة مع الإدخال والتأكيد على أن النتيجة تطابق القيمة المتوقعة.
في حالة اختبار الفشل ، تقوم بتوفير إدخال غير صالح للوظيفة وتؤكد أنها تسبب خطأً. هذا يضمن أن الوظيفة تتعامل بشكل صحيح مع الإدخال غير الصحيح أو شروط الخطأ.
من خلال تغطية كل من سيناريوهات النجاح والفشل في حالات الاختبار الخاصة بك ، يمكنك التأكد من اختبار التعليمات البرمجية الخاصة بك بدقة والتعامل مع المواقف المختلفة بشكل مناسب.