inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 리액트 테스트 [2023.11 업데이트]

주문 완료 페이지 (1)

queryByTest("loading") vs getByTest(/loading/i)

281

Dongwook Kim

작성한 질문수 3

0

안녕하세요

 

주문 완료 페이지 테스트 코드 작성중입니다.

여기서 처음 로딩 문구를 가져올 땐 getByText(/loading/i) 사용했고, 

두번째 로딩 사라질 땐 queryByText("loading")을 사용했습니다.

 

1. 두번째에서 queryBy를 사용한 이유가 있을까요? 주문이 성공한 뒤 사라질 엘리먼트이기 때문에 사용한 것인가요? 로딩 문구가 (this is useful for asserting an element that is not present) 에 해당하기 때문인가요? 이런 경우 getByText로 하면 무조건 없다고 나오는건가요?

2. 강의 중 어떤 것은 getByText("총 가격", { exact: false })를 쓰고, 로딩 같은 경우 getByText(/loading/i), 즉 정규식을 사용했습니다. 혹시 로딩에서 정규식을 사용하고 다른데선 그냥 스트링으로 썼던 이유가 있는지요? 정규식 아님 스트링 을 사용할 때의 기준이 있는지요?

 

감사합니다.

 

 

 

 

react 웹앱 React-Context jest

답변 1

1

John Ahn

안녕하세요 

1. getBy와 queryBy의 차이점은 getBy는 일치하는 요소가 없으면 오류를 발생시키고 queryBy는 일치하는 요소가 없으면 null을 반환하는 특징 때문에 가져올 때와 사라질 때를 다르게 해 줬습니다. 

 

2. loading 같은 경우는 영어 스펠링이기 때문에 대문자로 쓸 수도 있고 소문자로 쓸 수도 있기 때문에 i라는 정규식을 이용해서 사용했지만 한글은 그럴 필요가 없기 때문에 정규식을 사용하지 않았습니다. 

감사합니다.

제공해주신 코드를 vscode에서 켜도 eslint가 안됩니다.

0

298

2

ERROR

0

217

1

테스트 시간을 단축할 수 있는 방법에 대하여 문의드립니다.

0

371

1

useState 배열값 변경의 경우 테스트 멈춤

0

425

1

test was not wrapped in act관련 질문

0

300

2

안녕하세요! 로딩 상태 테스트에 관련된 질문입니다.

0

403

1

강의 관련 내용 github 업로드 질문

0

315

1

이미지가 안보인다 하셔서 다시 질문드립니다.

0

426

2

Test Fail이 발생합니다 ㅠㅠ

0

365

1

스타일 컴포넌트 테스트 방법

0

443

1

msw 에러

0

648

1

toHaveTextContent 에러

0

456

1

msw안돼는사람

0

590

1

This could be because the text is broken up by multiple elements. 에러

0

1728

2

Type.test.js파일에 궁금한점이 생겼습니다

0

356

1

28강 수강 중 JSX 작성 방법에 대해 궁금해져서 질문 남깁니다!

0

407

1

toHaveTextContent 에서 에러가 자꾸 나는데 아무리 찾아도 잘 모르겠습니다.

0

622

2

aria-*

0

451

1

This XML file does not appear to have any style information associated with it. The document tree is shown below. 에러

1

14190

1

컴포넌트 props내려줄때 코드는 어떻게 해야하나요

0

252

0

es6 jest 미지원 오류 문의

0

866

1

test 여러 개 실행 - fail 발생

0

295

1

useMemo

0

287

1

axios 1.1.2 버전 issue ( SyntaxError: Cannot use import statement outside a module)

4

2238

5