وظائف وطرق الاختبار مع تشاي

 وظائف الاختبار لطرح الاستثناءات الصحيحة

الاستثناءات ، يمكننا استخدام throwالخيار المقدم من Chai. يسمح لنا هذا المقطع المبني على حسن الذكر ، لكن يجب أن نحققه من أي تفاصيل أخرى. من المحتمل أن يكون التعامل مع حالات الخطأ.

مثالاً مثالياً. نريد أن نضيف استثناءً عند القسمة على صفر. يمكننا كتابة تعليمة حالة صالحة throwللطيران DivideByZeroError.

const { expect } = require('chai');

function divide(a, b) {
  if (b === 0) {
    throw new Error('DivideByZeroError');
  }
  return a / b;
}

describe('divide', () => {
  it('should throw DivideByZeroError when dividing by zero', () => {
    expect(() => divide(10, 0)).to.throw('DivideByZeroError');
  });

  it('should return the correct result when dividing two numbers', () => {
    expect(divide(10, 5)).to.equal(2);
  });
});

في مشروع المخضرم ،to.throwتقليص divideالقيمة تغليف التوكيد الذي يتم تعيينه ، حلول كافية.DivideByZeroError

من خلال برامج التحاليل الخاصة بالطرح الاستثناءات بشكل صحيح ، يمكننا أن وظائفنا تتعامل مع حالات الخطأ بشكل مناسب في حالات مغزى في مواقف غير منصوبة. يساعد في تحسين الجودة الشاملة وموثوقية التجميد.

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

المقالة الثالثة من سلسلة "Node.js و Mocha و Chai" ، نستكشف كيفية اختبار الوظائف والطرق التي تستخدم Chai. هي مكتبة قوية لتأكيد القيم والنتائج في كود جافا سكريبت.

 

اختبار أساليب الطراز وسلوكياتها

وأسهم في ذلك أن استخدام التأكيدات من خلال اختبار الأطر المطابق. تسمح لنا هذه التأكيدات بعمل تأكيدات من خصائص الكائنات الحية.

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

const { expect } = require('chai');

const calculator = {
  add: (a, b) => a + b,
  subtract: (a, b) => a - b,
  multiply: (a, b) => a * b,
  divide: (a, b) => a / b,
};

describe('calculator', () => {
  it('should return the correct sum when adding two numbers', () => {
    expect(calculator.add(5, 3)).to.equal(8);
  });

  it('should return the correct difference when subtracting two numbers', () => {
    expect(calculator.subtract(5, 3)).to.equal(2);
  });

  it('should return the correct product when multiplying two numbers', () => {
    expect(calculator.multiply(5, 3)).to.equal(15);
  });

  it('should return the correct quotient when dividing two numbers', () => {
    expect(calculator.divide(6, 3)).to.equal(2);
  });
});

المصنوع من صناعة expectالتربة calculator. تركز كل حالة على مرحلة معينة.

من المقرر أن يكون هناك اتصال بالطائرة calculator.

بالإضافة إلى ذلك من قيم الإرجاع للطرق ، يمكننا أيضًا استخدام التأكيدات من جينات الجذر الأخرى. يوفر Chai نطاقًا واسعًا من التأكيدات التي تتيح أنواع مختلفة من التأكيدات على الكائنات ، مثل التحقق من قيم الخاصية ، والتحقق من استدعاءات الطريقة ، والمزيد.

هذا هو جدول التدعيم ، التابع للقوات الموحدة.