250x250
반응형
arkhyeon
arkhyeon
arkhyeon
전체 방문자
오늘
어제
  • 분류 전체보기 (88)
    • Spring (5)
    • Java (4)
    • React (25)
      • TypeScript (6)
      • JavaScript (1)
      • Jest (9)
    • NEXT (8)
    • SQL (1)
    • React native (1)
    • CSS (3)
    • Web (1)
    • Git (3)
    • ETC (6)
    • 빅데이터DB (8)
    • Docker (4)
    • Tool (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • websocket server
  • react spring websocket
  • react typescript
  • HIVE
  • javasciprt websocket
  • Spring WebSocket
  • kudu
  • react
  • docker tomcat
  • react usetransition
  • websocket
  • react loading
  • jest
  • react jest
  • react19
  • node WebSocket
  • javascript wss
  • WSS
  • react websocket
  • usetransition

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
arkhyeon

arkhyeon

React/Jest

JEST Custom Render

2023. 6. 16. 11:36
728x90
반응형

Render

DOM에 컴포넌트를 렌더링

...
render(<Options optionType="scoops" />);
...

function render(
  ui: React.ReactElement<any>,
  options?: {
    /* You won't often use this, expand below for docs on options */
  },
): RenderResult

Render Option Wrapper

provider로 부터 렌더링 하는 것을 래핑해 테스트 중 provider에 액세스 가능하게 한다.

  • EX : router, reduex, context, theme …
...
render(<Options optionType="scoops" />, { wrapper: OrderDetailsProvider });
...

Custom Render

동일한 옵션을 가진 Render를 각 테스트마다 정의해서 사용하기 불편하기에 사용자가 본인 원하는 옵션에 맞게 설정하여 사용한다.

import { OrderDetailsProvider } from "../contexts/OrederDetails";
import { render } from "@testing-library/react";

//wrapper를 고정하고 다른 option은 비구조 할당을 통해 입력받기
const renderWithContext = (ui, options) =>
  render(ui, { wrapper: OrderDetailsProvider, ...options });

//@testing-library/react에서 사용하는 모든 메서드 내보내기
export * from "@testing-library/react";

export { renderWithContext as render };
  • 위의 경로를 통해 가져와 사용한다.
import { render, screen } from "../../../test-utils/testing-library-utils";
import userEvent from "@testing-library/user-event";
import Options from "../Options";

// scoops 는 Options 컴포넌트 내에 있기에 최소한의 컴포넌트 만을 테스트하여 성능을 내도록 하자.
test("update scoop subtotal when scoops change", async () => {
  const user = userEvent.setup();
  render(<Options optionType="scoops" />);
...
728x90
반응형

'React > Jest' 카테고리의 다른 글

Jest Debugging Tips  (0) 2023.06.19
Jest Warning: wrapped in act(...).  (0) 2023.06.19
Jest 원하는 테스트만 실행  (0) 2023.06.15
JEST Mock Service Worker 테스트 내부 사용  (0) 2023.06.15
JEST Mock Service Worker 설정 및 기본 사용  (0) 2023.06.15
    'React/Jest' 카테고리의 다른 글
    • Jest Debugging Tips
    • Jest Warning: wrapped in act(...).
    • Jest 원하는 테스트만 실행
    • JEST Mock Service Worker 테스트 내부 사용
    arkhyeon
    arkhyeon

    티스토리툴바