Referencia rápida

Hoja de referencia de la interfaz TDD en Mocha.js

Guía rápida para la interfaz TDD de Mocha.js: suite, test, hooks setup/teardown, pruebas asíncronas y aserciones expect de Chai.

· Publicado

Mocha ofrece múltiples interfaces de prueba. Mientras bdd utiliza describe() e it(), la interfaz tdd sigue las convenciones clásicas estilo xUnit con suite() y test().

Configuración de la interfaz TDD

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

// Configurar Mocha para usar la interfaz TDD
mocha.setup('tdd');

suite('Payment Processing', () => {
  suiteSetup(() => {
    // Se ejecuta una vez antes de todas las pruebas de esta suite
  });

  suiteTeardown(() => {
    // Se ejecuta una vez después de todas las pruebas de esta suite
  });

  setup(() => {
    // Se ejecuta antes de cada prueba
  });

  teardown(() => {
    // Se ejecuta después de cada prueba
  });

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

Comparación: BDD frente a TDD

Concepto Interfaz BDD (bdd) Interfaz TDD (tdd)
Grupo de pruebas describe("name", () => {}) suite("name", () => {})
Prueba individual it("does something", () => {}) test("does something", () => {})
Hook previo al bloque before(() => {}) suiteSetup(() => {})
Hook posterior al bloque after(() => {}) suiteTeardown(() => {})
Hook previo por prueba beforeEach(() => {}) setup(() => {})
Hook posterior por prueba afterEach(() => {}) teardown(() => {})

Ejecutar pruebas TDD desde CLI

Por defecto, el CLI de Mocha utiliza la interfaz BDD. Para ejecutar suites TDD, pasa --ui tdd:

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

Referencias

Temas relacionados