[javascript] Mocha에서 테스트에 사용되는 훅(hook)의 실행 순서는 어떻게 되는가?
  1. before: 모든 테스트가 실행되기 전에 한 번만 실행되는 훅입니다. 보통 전역적인 설정을 수행하기 위해 사용됩니다.

  2. after: 모든 테스트가 실행된 후 한 번만 실행되는 훅입니다. 리소스 정리 등의 작업을 수행하기 위해 사용됩니다.

  3. beforeEach: 각 테스트가 실행되기 전에 매번 실행되는 훅입니다. 각 테스트를 위한 초기화 작업을 수행하기 위해 사용됩니다.

  4. afterEach: 각 테스트가 실행된 후 매번 실행되는 훅입니다. 각 테스트 이후에 정리(clean-up) 작업을 수행하기 위해 사용됩니다.

훅은 describe 블록 내에 선언되며, 테스트의 범위에 따라 전역 또는 로컬 훅으로 사용할 수 있습니다. 훅은 순서대로 실행되며, 예를 들어 before 훅은 beforeEach 훅보다 먼저 실행되고, afterEach 훅은 after 훅보다 나중에 실행됩니다.

아래는 Mocha에서 훅을 사용하는 예제 코드입니다.

describe('테스트 스위트', function() {
  before(function() {
    // 전역 설정 작업
  });

  after(function() {
    // 전역 정리 작업
  });

  beforeEach(function() {
    // 각 테스트 초기화 작업
  });

  afterEach(function() {
    // 각 테스트 이후 정리 작업
  });

  it('테스트 케이스 1', function() {
    // 첫 번째 테스트 케이스
  });

  it('테스트 케이스 2', function() {
    // 두 번째 테스트 케이스
  });
});

위의 예제에서 before 훅은 전체 테스트 스위트가 시작하기 전에 한 번 실행됩니다. beforeEach 훅은 각 테스트 케이스가 실행되기 전에 매번 실행되고, afterEach 훅은 각 테스트 케이스 이후에 매번 실행됩니다. 마지막으로 after 훅은 전체 테스트 스위트가 완료된 후에 한 번 실행됩니다.

Mocha의 훅 실행 순서는 테스트 코드를 작성할 때 중요한 역할을 합니다. 따라서 훅을 효과적으로 활용하여 테스트 환경을 구성하고, 필요한 초기화 및 정리 작업을 수행하는 것이 좋습니다.

더 자세한 내용은 Mocha 공식 문서를 참고하시기 바랍니다.