본문 바로가기
Programming/Testing

Jest Globals Method - afterAll, afterEach, beforAll, beforEach

by 77unny 2025. 1. 6.

Jest afterAll (Ref, jest - afterAll)

모든 테스트 실행 후 1번 실행

사용 목적: 모든 테스트 실행 후 한 번만 실행 되어야 할 작업을 정의

예) 데이터베이스 연결 해제, 리소스 정리 등

Jest afterEach (Ref, jest - afterEach)

각 테스트 실행 후 

사용 목적: 각 테스트 실행 후 정리 작업을 정의

예) 데이터 초기화, 리소스 해제 등 각 테스트 후 다음 테스트에 영향을 주지 않아야 하는 상태 초기화 작업

 

Jest beforAll (Ref, jest - beforAll)

모든 테스트 실행 전 1회 실행

사용 목적: 모든 테스트 실행 전 1번만 실행해야 할 작업 정의 

예) 데이터베이스 연결, 전역 상태 설정 

 

Jest beforEach (Ref, jest - beforEach)

각 테스트 실행 전

사용 목적: 각 테스트 실행 전 반복적으로 수행해야할 작업 정의

예) 데이터 초기화, mock 설정 

 

 

실행 순서

1. `beforeAll`
2. `beforeEach` (각 테스트마다)
3. `테스트 코드`
4. `afterEach` (각 테스트마다)
5. `afterAll`

beforeAll(() => console.log('전역 - beforeAll'));
afterAll(() => console.log('전역 - afterAll'));
beforeEach(() => console.log('전역 - beforeEach'));
afterEach(() => console.log('전역 - afterEach'));

test('전역 테스트 1', () => {
  console.log('전역 테스트 1 실행');
});

describe('describe 블록 1', () => {
  beforeAll(() => console.log('describe 1 - beforeAll'));
  afterAll(() => console.log('describe 1 - afterAll'));
  beforeEach(() => console.log('describe 1 - beforeEach'));
  afterEach(() => console.log('describe 1 - afterEach'));

  test('describe 1 테스트 1', () => {
    console.log('describe 1 테스트 1 실행');
  });

  test('describe 1 테스트 2', () => {
    console.log('describe 1 테스트 2 실행');
  });
});

test('전역 테스트 2', () => {
  console.log('전역 테스트 2 실행');
});

 

출력 결과는 아래 더보기 

더보기
더보기

1. 전역 `beforeAll` (한 번 실행)
2. 전역 `beforeEach` (각 테스트마다 실행)
3. 전역 테스트 (`test` 블록)
4. 전역 `afterEach` (각 테스트마다 실행)
5. 첫 번째 `describe` 블록의 `beforeAll` (한 번 실행)
6. 전역 `beforeEach`
7. 첫 번째 `describe` 블록의 `beforeEach`
8. 첫 번째 `describe` 블록의 첫 번째 테스트
9. 첫 번째 `describe` 블록의 `afterEach`
10. 전역 `afterEach`
11. 전역 `beforeEach`
12. 첫 번째 `describe` 블록의 `beforeEach`
13. 첫 번째 `describe` 블록의 두 번째 테스트
14. 첫 번째 `describe` 블록의 `afterEach`
15. 전역 `afterEach`
16. 첫 번째 `describe` 블록의 `afterAll`
17. 전역 `beforeEach`
18. 전역 테스트
19. 전역 `afterEach`
20. 전역 `afterAll`

'Programming > Testing' 카테고리의 다른 글

Jest Globals Method - descripbe, test, it  (0) 2025.01.05