Snelle referentie

Mocha.js TDD-interface Spiekbriefje

Beknopte referentiegids voor de TDD-interface van Mocha.js: suite, test, setup/teardown-hooks, asynchrone tests en Chai expect-assertions.

· Gepubliceerd

Mocha biedt meerdere testinterfaces. Waar bdd gebruikmaakt van describe() en it(), volgt de tdd-interface klassieke xUnit-conventies met suite() en test().

TDD-interface Instellen

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

// Configureer Mocha voor gebruik met de TDD-interface
mocha.setup('tdd');

suite('Payment Processing', () => {
  suiteSetup(() => {
    // Draait eenmalig vóór alle tests in deze suite
  });

  suiteTeardown(() => {
    // Draait eenmalig ná alle tests in deze suite
  });

  setup(() => {
    // Draait vóór elke afzonderlijke test
  });

  teardown(() => {
    // Draait ná elke afzonderlijke test
  });

  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');
  });
});

Vergelijking: BDD vs. TDD

Concept BDD-interface (bdd) TDD-interface (tdd)
Testgroep describe("name", () => {}) suite("name", () => {})
Individuele Test it("does something", () => {}) test("does something", () => {})
Hook Voor Alles before(() => {}) suiteSetup(() => {})
Hook Na Alles after(() => {}) suiteTeardown(() => {})
Hook Voor Elke Test beforeEach(() => {}) setup(() => {})
Hook Na Elke Test afterEach(() => {}) teardown(() => {})

TDD-tests Uitvoeren via CLI

Standaard gebruikt de Mocha CLI de BDD-interface. Geef --ui tdd mee om TDD-testsuites te draaien:

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

Referenties

Verwante onderwerpen