[Testing] 02. Queries 의 종류

고석진
4 min readDec 28, 2020

--

많다 많아 …

getBy*

getBy로 시작하는 함수는 일치하는 첫번째 노드를 반환한다.
노드를 찾지 못하거나 1개 이상의 노드를 찾게되면 에러가 발생한다.
1개 이상의 노드를 찾고 싶다면 getByAll 을 사용하자.

  • getByLabelText
  • getByPlaceholderText
  • getByText
  • getByDisplayValue
  • getByAltText
  • getByTitle
  • getByRole
  • getByTestId

getByAll*

getByAll로 시작하는 함수는 일치하는 모든 노드 리스트를 반환한다.
일치하는 노드를 찾지 못하면 에러를 발생시킨다.

  • getAllByLabelText
  • getAllByPlaceholderText
  • getAllByText
  • getAllByDisplayValue
  • getAllByAltText
  • getAllByTitle
  • getAllByRole
  • getAllByTestId

queryBy*

queryBy로 시작하는 함수는 일치하는 첫번째 노드를 반환한다.
일치하는 노드를 찾지 못하면 null 을 반환한다.
존재하지 않는 요소를 테스트하는데 유용하다.
1개 이상의 일치하는 노드를 찾게되면 에러를 발생시킨다. 1개 이상의 노드를 찾고 싶다면 queryAllBy 을 사용하자.

  • queryByLabelText
  • queryByPlaceholderText
  • queryByText
  • queryByDisplayValue
  • queryByAltText
  • queryByTitle
  • queryByRole
  • queryByTestId

queryAllBy*

queryAllBy로 시작하는 함수는 일치하는 노드 리스트를 반환한다.
일치하는 노드를 찾지 못했다면 빈 배열([]) 을 반환한다.

  • queryAllByLabelText
  • queryAllByPlaceholderText
  • queryAllByText
  • queryAllByDisplayValue
  • queryAllByAltText
  • queryAllByTitle
  • queryAllByRole
  • queryAllByTestId

findBy*

findBy*로 시작하는 함수는 일치하는 노드를 찾으면 resolve promise 를 반환하고 일치하는 노드를 찾지 못하거나 기본 timeout 인 1s 를 넘긴다면 reject promise 를 반환한다.
1개 이상의 노드를 찾고 싶다면 findByAll 을 사용하자.

findBy 는 getBy 와 waitFor 의 조합이다. findBy 는 마지막인자로 waitFor 의 옵션 값을 받는다.

screen.findByText('text', queryOptions, waitForOptions)
  • findByLabelText
  • findByPlaceholderText
  • findByText
  • findByDisplayValue
  • findByAltText
  • findByTitle
  • findByRole
  • findByTestId

findByAll*

findByAll로 시작하는 함수는 일치하는 노드 리스트 Promise 를 반환한다.
일치하는 노드를 찾지 못하거나 기본 timeout 1s 를 넘기게되면 reject promise 를 반환한다.

  • findAllByLabelText
  • findAllByPlaceholderText
  • findAllByText
  • findAllByDisplayValue
  • findAllByAltText
  • findAllByTitle
  • findAllByRole
  • findAllByTestId

CheetSheet

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

고석진
고석진

Written by 고석진

자바스크립트를 사랑하는 프론트 개발자 입니다 :)

No responses yet

Write a response