안녕하세요 이번 강좌와 리액트 테스트강좌질문입니다
안녕하세요.
처음 강좌 신청할 때 tdd도 있길래 넷플릭스 강좌에서 이어 진행하시는 줄 알았는데, 이번 강좌에 test는 가볍게 다루셨군요..ㅠㅠ
예전 react test(jest) 강좌를 들었어서, 이번 netflix강의에도 혼자 tdd를 진행하려 하는데, 조금 궁금한 점이 생겼습니다.
테스트를 진행할 때 props를 사용하는 컴포넌트에 대해서는 어떻게 하나요?(이전 react-test강좌에서는 contextAPI를 사용하셨는데, 그때 props로 내린 데이터를 가진 컴포넌트에 대해서는 테스트를 진행하지 않으셔서 여쭤봅니다.)
netflix클론 정도의 규모만 해도 api가 많아 생각보다 까다로운 것 같습니다. 어떤 기능에 대해서 테스트를 집중적으로 하는지 방법? 이나 강사님의 조언을 듣고 싶습니다. (하나하나 단위 테스트를 실제로 진행하는 게 맞을까요? 아직 test는 익숙치 않네요..)
답변 1
1
안녕하세요 KIP님
우선 두 강의 다 수강해주신 점 너무 감사합니다.
첫 번째 질문에서는 props로 내려주는 부분은
test("displays product images from server", async () => {
render(<Type orderType="products" />);
// 이미지 찾기
const productImages = await screen.findAllByRole("img", {
name: /product$/i,
});
expect(productImages).toHaveLength(2);
const altText = productImages.map((element) => element.alt);
expect(altText).toEqual(["America product", "England product"]);
});
이런 식으로 <Type orderType="products" /> 이 부분이 테스트할 때 props로 내려주는 부분입니다 ~
혹시 제가 질문을 잘못 이해했나요 ~?
두 번째 질문에서는 실무에서는 테스트 작성은 사실 많이 주관적인 것 같습니다.
최대한 모든 부분을 위해서 작성하는 게 좋긴 하지만 (테스트만 작성하다 보면 또 금방 작성하실 수는 있습니다 적응이 되다 보니...)
실제로 모든 부분을 작성하는 것은 시간이 너무 많이 걸릴 것 같다고 생각하면 개발자 본인이 봤을 때 에러가 날 수 있을 것 같은 부분에 테스트를 작성해주는 게 좋을 것 같습니다. 답변을 적고 보니 너무 주관적인 답변이 되었네요. 결국은 회사 사정에 따라서 바뀌는 것 같습니다. 철저한 테스트를 원하는 회사면 다 작성할 것이고 그렇지 않은 회사는 아예 작성 안 하는 곳도 많습니다!
감사합니다
0
네 감사합니다 제가 추상적으로 질문을 드렸네요 ㅠ 그래도 어떤 말씀이신지 알 거 같습니다.
test는 제가 혼자서 공부해보고 다시 질문드리겠습니다!
boiler-plate부터 테스트까지 한 5개 정도? 수강한 거 같네요 처음 볼 때랑 2번째 볼 때 또 다르고, 지금 보니까 또 다르네요. 처음 볼 때는 무슨 말인가 했던 것들이 이제는 document찾으면서 왜 그랬는지 생각하고 혼자서 끄적거릴 정도는 온 것 같습니다. 6개월 전에 깃헙에 아무것도 모르고 주석만 주구장창 달아놨던 제가 신기하네요.
강의 소스 코드 압축 풀기 오류
0
90
1
런타임 에러 ㅠㅠ
0
105
1
강의대로 따라갔는데 에러보다 api키로 들어간 넷플릭스? 그런게 렌더링 되지 않습니다 ㅠ
0
114
1
안녕하세요 개발과 상관없는 질문입니다만
0
123
1
리액트 라우터 관련
0
119
1
react-beatiful-dnd에서 문제가 발생합니다.
0
108
1
react19에서는 react-beautiful-dnd가 설치되지 않습니다.
0
832
1
useEffect로 사용을 해도 되나요?
0
210
1
넷플릭스 오리지널 제외하고 슬라이드가 동작을 안합니다.
0
202
1
react 19의 useActionState가 더이상 isPending은 지원하지 않는 듯합니다
0
287
2
리액트 dockderfile 작성 시 COPY 질문
0
156
1
next.js에서부터는 react query 필요없는지
0
327
1
기능
0
204
1
오류가 안보여요
0
206
1
CSS
0
225
1
local storage
0
223
1
list컴포넌트 생성하기
0
230
1
검색어 입력 후 초기화하는 방법 궁금합니다!
0
342
1
Banner.css에 대해서
0
464
1
플러그인이 추천을 안해줍니다
0
334
1
마이너스버튼 테스트
0
285
2
리액트 서버 실행 오류
0
1169
2
오류메세지는 확인했는데 어떻게 고쳐야 할지 모르겠습니다 ㅠ
0
306
1
creactStore질문이요
1
293
2





