빠른 참조

Mocha.js TDD 인터페이스 치트 시트

Mocha.js TDD 인터페이스(suite, test, setup/teardown 훅, 비동기 테스트 및 Chai expect 단언) 빠른 참고 가이드.

· 게시일

Mocha는 여러 테스트 인터페이스를 제공합니다. bdd가 describe()와 it()을 사용하는 반면, tdd 인터페이스는 고전적인 xUnit 스타일의 suite()와 test() 규칙을 사용합니다.

TDD 인터페이스 설정

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

// TDD 인터페이스를 사용하도록 Mocha 설정
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 vs TDD

개념 BDD 인터페이스 (bdd) TDD 인터페이스 (tdd)
테스트 그룹 describe("name", () => {}) suite("name", () => {})
개별 테스트 it("does something", () => {}) test("does something", () => {})
전체 사전 훅 before(() => {}) suiteSetup(() => {})
전체 사후 훅 after(() => {}) suiteTeardown(() => {})
각 테스트 사전 훅 beforeEach(() => {}) setup(() => {})
각 테스트 사후 훅 afterEach(() => {}) teardown(() => {})

CLI로 TDD 테스트 실행

기본적으로 Mocha CLI는 BDD 인터페이스를 사용합니다. TDD 테스트 스위트를 실행하려면 --ui tdd 옵션을 전달하세요:

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

참고 자료

관련 주제