Referência rápida

Folha de Cola Interface TDD do Mocha.js

Guia rápido para a interface TDD do Mocha.js: suite, test, hooks setup/teardown, testes assíncronos e asserções expect do Chai.

· Publicado

O Mocha oferece várias interfaces de teste. Enquanto bdd utiliza describe() e it(), a interface tdd segue convenções clássicas no estilo xUnit com suite() e test().

Configuração da Interface TDD

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

// Configurar o Mocha para usar a interface TDD
mocha.setup('tdd');

suite('Payment Processing', () => {
  suiteSetup(() => {
    // Executa uma vez antes de todos os testes nesta suíte
  });

  suiteTeardown(() => {
    // Executa uma vez depois de todos os testes nesta suíte
  });

  setup(() => {
    // Executa antes de cada teste
  });

  teardown(() => {
    // Executa depois de cada teste
  });

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

Comparação: BDD vs TDD

Conceito Interface BDD (bdd) Interface TDD (tdd)
Grupo de Testes describe("name", () => {}) suite("name", () => {})
Teste Individual it("does something", () => {}) test("does something", () => {})
Hook Antes de Todos before(() => {}) suiteSetup(() => {})
Hook Depois de Todos after(() => {}) suiteTeardown(() => {})
Hook Antes de Cada beforeEach(() => {}) setup(() => {})
Hook Depois de Cada afterEach(() => {}) teardown(() => {})

Executando Testes TDD via CLI

Por padrão, a CLI do Mocha usa a interface BDD. Para executar suítes TDD, informe --ui tdd:

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

Referências

Temas relacionados