테스트 with Jest - 제로초

hans_gall·2025년 11월 10일

이론공부

목록 보기
2/3

Tdd - test driven development

테스트 커버리지 - 내 코드가 얼마나 테스트되고 있는지

테스트 코드 시간 짬날때 한두개씩만 만들어도 쌓이면 엄청 큼 (틈틈히 하자)

진짜 도움이 되는 테스트를 하자 (당연한건 하지마삼)

프론트는 BDD (behavior driven development)가 나을수도 있음

테스트는 유닛 -> 통합 -> E2E

mockImplementation - 스파이를 심고 갈아끼우기 가능

스파이를 심은게 다음 테스트 함수에도 영향을 줄 수 있기 때문에 스파이를 심은 애를 예를들어

const sf = jest.spyOn(obj,'minus');
~~~
sf.mockClear();

mockClear를 해줘야함 (times, With 초기화를 위해)

mockReset은 mockClear + mockImplementation(()=>{})
빈 함수로 만드는 것 까지 해버림

mockRestore는 원래로 돌려버림

beforeAll(()=> { // 이 파일에 준비 사항 실행
beforeEach(()=> { // 매 테스트 실행 전에 
afterEach(()=> { // 매 테스트 실행 후에
afterAll(()=> { // 모든 테스트 끝난 후에
// 스코프를 잘 지킬 것 

describe은 afterEach 이런거 따로 적용하고 싶을 때 쓰는데 파일 나눠도 됨

jest-extends 쓰는 법 (필수는 아닌데 쓰면 좋음)

1. npm i -D jest jest-extended
2. jest.config.js에 setupFilesAfterEnv: ["<rootDir>/jest.setup.ts"], 추가
3. jest.setup.ts에 import ("jest-extended/all"); 작성
4. global.d.ts 파일도 만들고 import "jest-extended";
5. tsconfig.json에 "files": ["global.d.ts"] 추가

모킹은 원본의 행동을 본딴 가짜 객체를 만드는 것

jest.mock은 호이스팅된다. (그냥 임포트 하단에 만들기)

0개의 댓글