مرجع سريع

ورقة غش واجهة TDD في Mocha.js

دليل مرجعي سريع لواجهة TDD في Mocha.js: دوال suite و test وخطافات setup و teardown والاختبار غير المتزامن وتأكيدات Chai expect.

· تاريخ النشر

يوفر Mocha عدة واجهات للاختبار. بينما تستخدم واجهة bdd دوال describe() و it()، تعتمد واجهة tdd اصطلاحات نمط xUnit التقليدي عبر suite() و test().

إعداد واجهة TDD

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

// تهيئة Mocha لاستخدام واجهة TDD
mocha.setup('tdd');

suite('Payment Processing', () => {
  suiteSetup(() => {
    // يُنفّذ مرة واحدة قبل جميع الاختبارات في هذه المجموعة
  });

  suiteTeardown(() => {
    // يُنفّذ مرة واحدة بعد جميع الاختبارات في هذه المجموعة
  });

  setup(() => {
    // يُنفّذ قبل كل اختبار
  });

  teardown(() => {
    // يُنفّذ بعد كل اختبار
  });

  test('validates card expiration date', () => {
    const isValid = validateExpiry('12/28');
    expect(isValid).to.be.true;
  });

  test('handles async network payments', async () => {
    const receipt = await chargeCard(100);
    expect(receipt.status).to.equal('success');
  });
});

المقارنة: BDD مقابل TDD

المفهوم واجهة BDD (bdd) واجهة TDD (tdd)
مجموعة الاختبارات describe("name", () => {}) suite("name", () => {})
اختبار فردي it("does something", () => {}) test("does something", () => {})
خطاف ما قبل الكل before(() => {}) suiteSetup(() => {})
خطاف ما بعد الكل after(() => {}) suiteTeardown(() => {})
خطاف ما قبل كل اختبار beforeEach(() => {}) setup(() => {})
خطاف ما بعد كل اختبار afterEach(() => {}) teardown(() => {})

تشغيل اختبارات TDD عبر CLI

تستخدم أداة سطر أوامر Mocha واجهة BDD افتراضياً. لتشغيل مجموعات TDD، مرّر --ui tdd:

mocha --ui tdd test/tdd/*.test.js

المراجع

موضوعات ذات صلة