4.3. 강의와 깃헙 소스코드가 다른 부분
안녕하세요. 강의 잘 듣고 있습니다.
다름이 아니라 강의와 깃헙 소스코드가 달라서 문의드려요.
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로 설명해주시고 있습니다.
주석도 마찬가지로 다릅니다.
무엇이 맞는 걸까요?
답변 1
1
안녕하세요! 우선 강의 들어주셔서 감사합니다.
남겨주신대로 내용은 코드를 최종본으로 이해하시고 강의를 진행해주시면 감사하겠습니다.
확인을 해봤더니 이전 편집 내용이 남아 있었던 것 같네요. 😅
결국 해당 내용은 초기화에 목적이 있기 때문에 모든 테스트가 진행된 뒤 호출하거나 진행 전 호출하는 방식으로 진행해주시면 상관 없을 것 같습니다.
감사합니다!
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





