코드숨 과제에 대한 리뷰를 진행하며 다음과 같은 리뷰를 받았다.
리뷰를 읽으면서 노드라는 표현과 함께 쓴 리뷰가 이해가 안 돼서 구글링을 통해 좀 더 찾아봤다. getByRole이라는 쿼리 함수로 예를 들자면, getBy*라는 variant와 Role이라는 query로 나눌 수 있다. getBy*로 시작하는 쿼리는 조건에 일치하는 DOM 엘리먼트 하나를 선택하여 없으면 에러를 출력하고, Role은 특정 role을 가지고 있는 엘리먼트를 선택한다. toHaveTextContent는 해당 엘리먼트에 주어진 string이 존재하는지 체크하는 함수다. 따라서, 내가 작성한 코드는 매 줄마다 조건에 일치하는 DOM 엘리먼트를 찾고, toBeInTheDocument를 통해 해당 엘리멘트가 문서에 존재하는지 존재하지 않는지 검사하고 있었다. 그래서 리뷰가 말하고자 하는 바는 To-do와 같은 단순 텍스트가 있는지 검사하는 건 getBy로 매 번 DOM 엘리먼트를 선택하지 말고, container를 통해 해당 컴포넌트의 최상위 DOM을 가져와 텍스트가 있는지만 간단하게 확인하라는 뜻이다. 앞으로 단순 텍스트의 존재 여부만 확인하는 건 getBy* 쿼리 함수를 이용하기 보다 container로 최상위 DOM을 가져와 텍스트의 존재 유무를 판별해야겠다.
'TIL' 카테고리의 다른 글
TIL - 20220523 (0) | 2022.05.23 |
---|---|
TIL - 20220522 (0) | 2022.05.22 |
TIL - 20220520 (0) | 2022.05.20 |
TIL - 20220519 (0) | 2022.05.19 |
TIL - 20220518 (0) | 2022.05.18 |