Kurzreferenz

Mocha.js TDD-Interface Spickzettel

Kurzreferenz für das TDD-Interface von Mocha.js: suite, test, setup/teardown-Hooks, asynchrone Tests und Chai-expect-Assertions.

· Veröffentlicht

Mocha unterstützt mehrere Test-Interfaces. Während bdd auf describe() und it() setzt, nutzt das tdd-Interface klassische xUnit-Konventionen mit suite() und test().

TDD-Interface einrichten

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

// Mocha für das TDD-Interface konfigurieren
mocha.setup('tdd');

suite('Payment Processing', () => {
  suiteSetup(() => {
    // Läuft einmalig vor allen Tests dieser Suite
  });

  suiteTeardown(() => {
    // Läuft einmalig nach allen Tests dieser Suite
  });

  setup(() => {
    // Läuft vor jedem einzelnen Test
  });

  teardown(() => {
    // Läuft nach jedem einzelnen 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');
  });
});

Vergleich: BDD vs. TDD

Konzept BDD-Interface (bdd) TDD-Interface (tdd)
Testgruppe describe("name", () => {}) suite("name", () => {})
Einzeltest it("does something", () => {}) test("does something", () => {})
Before-All-Hook before(() => {}) suiteSetup(() => {})
After-All-Hook after(() => {}) suiteTeardown(() => {})
Before-Each-Hook beforeEach(() => {}) setup(() => {})
After-Each-Hook afterEach(() => {}) teardown(() => {})

TDD-Tests über die CLI ausführen

Standardmäßig nutzt die Mocha-CLI das BDD-Interface. Für TDD-Testsuites übergeben Sie --ui tdd:

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

Referenzen

Verwandte Themen