TestPayment에 쿠폰 정보를 prop으로 전달하는 이유
안녕하세요.
Payment테스트 코드 작성 부분에서 몇가지 궁금한점이 생겨 질문 드립니다.
1. 실제 Payment 컴포넌트에서는 useCouponList훅으로부터 selectedCoupon데이터를 받아와서 사용하는데 테스트 코드에서는 쿠폰 정보를 prop으로 전달하는 이유가 무엇인가요?
2. 실제 구현 동작을 보면 ShippingInformationForm에서 쿠폰을 선택하면 Payment 쿠폰란에 곧바로 반영되는데 이런 부분까지는 통합테스트에서 검증하지 않아도 되나요?
回答 2
0
안녕하세요! albert H님.
useCouponList에서 RHF를 사용하고 있기 때문에 간단한 래핑을 통해 구성했습니다. 만약 useCouponList에서 RHF의 결합을 끊고 외부에서 주입하는 형태로 구현이 된다면, 별도 컴포넌트 모킹은 필요없을 수 있습니다.
현재는 할인 금액만 검증하고 있는데요! 선택한 쿠폰의 이름을 검증하는 것도 좋아 보입니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다.
실제 컴포넌트에서
useCouponList훅을 통해selectedCoupon데이터를 받아오지만, 테스트 코드에서는 쿠폰 정보를 prop으로 전달하는 것은 테스트 환경에서의 통제가능성과 명확성을 위해서입니다. 테스트 코드를 작성할 때, 불필요한 의존성을 줄이고, 테스트하고자 하는 컴포넌트의 동작에 초점을 맞추기 위해 직접 입력 값을 제어할 수 있는 prop으로 전달하는 방식을 선택하는 것이 일반적입니다. 이렇게 함으로써, 특정 상황에서 컴포넌트가 어떻게 반응해야 하는지를 명확하게 테스트할 수 있습니다.통합 테스트의 범위와 목적에 따라 다릅니다. 통합 테스트는 서로 다른 컴포넌트들이 함께 잘 작동하는지를 확인하는 것을 목적으로 합니다. 따라서,
ShippingInformationForm에서 쿠폰을 선택하면Payment컴포넌트의 쿠폰란에 반영되는 기능은 통합 테스트에서 중요한 부분이 될 수 있습니다. 이러한 동작을 검증함으로써, 사용자가 쿠폰을 선택했을 때 실제로 해당 정보가 적절히 반영되는지 확인할 수 있으며, 이는 사용자 경험과 밀접한 관련이 있습니다. 하지만, 모든 상황을 테스트하는 것이 현실적으로 어려울 수 있기 때문에, 주요한 경로와 기능에 대해서만 통합 테스트를 진행할 수도 있습니다.
mockZustand
0
64
2
프로젝트 세팅 오류 및 버전 오류 문제 문의
0
95
2
toggleIsModalOpened 테스트 할때 궁금한 점이 있습니다.
0
42
2
로딩/에러처리 검증은 어떻게 하는게 좋을까요?
0
65
1
통합 테스트에서 API 요청에 대한 검증은 이루어지지 않아도 괜찮을까요?
0
68
2
lint에러..
0
71
1
단언문 순서에 따라 테스트 결과가 왜 달라지나요?
0
108
2
useNavigate 테스트 시, 검증 대상 질문입니다.
0
113
2
강의 예시프로젝트 업데이트좀 부탁드립니다.
2
165
2
통합테스트와 단위테스트 파일 분리
0
108
1
grid 양옆에 margin은 어디서 설정되어있는건가요 ?
0
131
1
vitest 설치했는데
0
204
2
2부 할인쿠폰 관련
0
176
1
에러 해결 방법
0
406
2
직접 구현한 atom 컴포넌트 테스트 범위 질문
0
175
1
setup, teardown 동작 순서
0
211
1
debounce 함수 테스트 정확도 관련 질문입니다.
0
175
2
ProductFilter test 어떤 방식이 더 선호되는 방식일까요?
0
203
2
통합 테스트 작성 방식에 대해 궁금한 점이 있습니다
0
258
2
vitest Extension 알려주세요.
0
266
1
2.1 강의 질문있습니다.
0
139
1
useNavigate()을 검증할 때 이해가 안되는 부분이 있습니다.
0
245
2
toHaveStyle 메서드 사용이 조금 이상한 것 같습니다.
0
194
2
NavigationBar 테스트 속도가 너무 느린 문제
0
217
1

