인프런 커뮤니티 질문&답변
로딩/에러처리 검증은 어떻게 하는게 좋을까요?
작성
·
11
0
안녕하세요.
API 요청이 포함된 컴포넌트를 대상으로 단위/통합 테스트할때 요청 상태에 따라 로딩, 에러 UI가 적절하게 렌더링 되는지도 검증을 해야하는지 궁금합니다.
해야한다면, API 호출하는 모든 테스트에서 로딩/에러 UI 검증을 하는게 일반적이고 맞는 건지, 아니면 제 경우에는 ErrorBoundary랑 Suspense를 다음처럼 합쳐서 에러/로딩 처리용 wrapper(?)를 만들었는데, 이런 wrapper 테스트를 따로 작성하는게 맞는건지.. 궁금합니다 ㅎㅎ..
interface ComposedBoundaryProps extends ErrorBoundaryPropsWithRender {
suspenseFallback: ReactNode;
children: ReactNode;
reset: () => void;
}
const ComposedBoundary = ({
suspenseFallback,
children,
fallbackRender,
reset,
}: ComposedBoundaryProps) => {
return (
<ErrorBoundary
onError={(error: unknown) => {
// ...
}}
onReset={reset}
fallbackRender={fallbackRender}
>
<Suspense fallback={suspenseFallback}>{children}</Suspense>
</ErrorBoundary>
);
};답변 1
0
코드 조커, 오프
지식공유자
안녕하세요! 좋은 질문이네요.
단순히 API 호출에 대한 것이 아닌 Error Boundary나 Suspense가 단순히 리액트 기능상 표준화된 제대로 동작하는 것을 검증하는 것이 아니라, 노출되는 조건이 복잡하거나 비즈니스 로직이 얽혀있는 경우에는 테스트를 진행하는 것이 좋아보입니다.
말씀해주신대로 합성해서 사용할 수 있도록 여러 기능을 래퍼 형태로 작성해뒀다면, 검증을 진행하는 것이 좋습니다. ErrorBoundary와 Suspense가 함께 관리되는 컴포넌트기도 하고, 여러 곳에서 사용할 수 있는 공용 컴퍼넌트니까요.
추가로 궁금하신점 있으면 편하게 질문주세요! 감사합니다.





