[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