inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트

4.3. 상태 관리 모킹하기

4.3. 강의와 깃헙 소스코드가 다른 부분

해결된 질문

289

Kate

작성한 질문수 3

1

안녕하세요. 강의 잘 듣고 있습니다.

다름이 아니라 강의와 깃헙 소스코드가 달라서 문의드려요.

 

mocks/zustand.js의 코드인데요.

const { create: actualCreate } = await vi.importActual('zustand');
import { act } from '@testing-library/react';

// 앱에 선언된 모든 스토어에 대해 재설정 함수를 저장
const storeResetFns = new Set();

// 스토어를 생성할 때 초기 상태를 가져와 리셋 함수를 생성하고 set에 추가합니다.
export const create = createState => {
  const store = actualCreate(createState);
  const initialState = store.getState();
  storeResetFns.add(() => store.setState(initialState, true));
  return store;
};

// 테스트가 구동되기 전 모든 스토어를 리셋합니다.
beforeEach(() => { // 👈 이 부분
  act(() => storeResetFns.forEach(resetFn => resetFn()));
});

깃헙 소스코드는 위와 같이 beforeEach를 사용하지만 강의에서는 afterEach로 설명해주시고 있습니다.

주석도 마찬가지로 다릅니다.

무엇이 맞는 걸까요?

javascript react 소프트웨어-테스트 vitest

답변 1

1

코드 조커, 오프

안녕하세요! 우선 강의 들어주셔서 감사합니다.

남겨주신대로 내용은 코드를 최종본으로 이해하시고 강의를 진행해주시면 감사하겠습니다.

확인을 해봤더니 이전 편집 내용이 남아 있었던 것 같네요. 😅

결국 해당 내용은 초기화에 목적이 있기 때문에 모든 테스트가 진행된 뒤 호출하거나 진행 전 호출하는 방식으로 진행해주시면 상관 없을 것 같습니다.

감사합니다!

1

Kate

답변 감사합니다.

조금 헷갈려서 그런데요. '코드를 최종본으로 이해하면 되나, beforeEach든 afterEach든 크게 상관 없다.'라고 이해해도 될까요? :)

0

코드 조커, 오프

안녕하세요!

제가 제대로 이해했는지 정확하지는 않지만 우선 저희가 준비한 강의 의도는 코드 기준이 저희의 의도와 맞으며 afterEach와 beforeEach의 경우 호출되는 컨텍스트와 의도에 따라 달라질 수 있어 구분해 사용해야 합니다!

mockZustand

0

67

2

프로젝트 세팅 오류 및 버전 오류 문제 문의

0

97

2

toggleIsModalOpened 테스트 할때 궁금한 점이 있습니다.

0

43

2

로딩/에러처리 검증은 어떻게 하는게 좋을까요?

0

65

1

통합 테스트에서 API 요청에 대한 검증은 이루어지지 않아도 괜찮을까요?

0

71

2

lint에러..

0

74

1

단언문 순서에 따라 테스트 결과가 왜 달라지나요?

0

109

2

useNavigate 테스트 시, 검증 대상 질문입니다.

0

113

2

강의 예시프로젝트 업데이트좀 부탁드립니다.

2

166

2

통합테스트와 단위테스트 파일 분리

0

109

1

grid 양옆에 margin은 어디서 설정되어있는건가요 ?

0

131

1

vitest 설치했는데

0

207

2

2부 할인쿠폰 관련

0

177

1

에러 해결 방법

0

407

2

직접 구현한 atom 컴포넌트 테스트 범위 질문

0

175

1

setup, teardown 동작 순서

0

212

1

debounce 함수 테스트 정확도 관련 질문입니다.

0

177

2

ProductFilter test 어떤 방식이 더 선호되는 방식일까요?

0

204

2

통합 테스트 작성 방식에 대해 궁금한 점이 있습니다

0

259

2

vitest Extension 알려주세요.

0

268

1

2.1 강의 질문있습니다.

0

140

1

useNavigate()을 검증할 때 이해가 안되는 부분이 있습니다.

0

248

2

toHaveStyle 메서드 사용이 조금 이상한 것 같습니다.

0

196

2

TestPayment에 쿠폰 정보를 prop으로 전달하는 이유

0

186

2