• TDD

    2022. 11. 10.

    by. JJo 😊

    🤔 테스트 주도 개발이란? (TDD)

    실제 코드를 작성하기 전에 테스트 코드를 먼저 작성한다. 테스트 코드를 작성한 후 그 테스트 코드를 통화할 수 있는 실제 코드를 작성한다.

     

    😊 TDD를 하면 좋은 점

    • 많은 기능을 테스트하기에 소스 코드에 안정감이 부여된다.
    • 디버깅 시간이 줄고 실제 개발 시간을 단축시킬 수 있다.
    • 깨끗한 코드가 나올 확률이 높다.

    React Testing Library

    Create React App으로 생성된 프로젝트는 즉시 React Testing Library를 지원한다. 
    npm을 통해 설치할 수도 있다.

    npm i @testing-library/react

    쿼리 함수

    쿼리는 페이지에서 요소를 찾기 위해 테스트 라이브러리가 제공하는 방법이다. 여러 유형의 쿼리(get, find, query)가 있으며 이들의 차이점은 요소가 발견되지 않으면 오류가 발생하거나 Promise를 반환하고 다시 시도하는 지의 여부이다.

    getBy

    쿼리에 대해 일치하는 노드를 반환하고 일치하는 요소가 없거나 둘 이상의 일치가 발견되면 설명 오류를 발생시킨다. (둘 이상의 요소가 예상되는 경우에는 getByAll사용)

    queryBy

    쿼리에 대해 일치하는 노드를 반환하고 일치하는 요소가 없으면null을 반환한다. 둘 이상의 일치 항목이 발견되면 오류를 발생시킨다. (확인된 경우 대신queryAllBy사용)

    findBy

    주어진 쿼리와 일치하는 요소가 발견되면Promise를 반환한다. 요소가 없거나 기본 제한 시간인 1000ms 후에 둘 이상의 요소가 발견되면 약속이 거부된다. (둘 이상의 요소를 찾아야 하는 경우는findAllBy사용)

    waitFor

    일정 기간동안 기다려야 할 때 사용한다. 기대가 통과할 때까지 기다릴 수 있다.

     

     


    해당 포스팅은 인프런 '따라하며 배우는 리액트 A-Z' 강의를 듣고 정리한 내용입니다:)

    728x90

    'React' 카테고리의 다른 글

    useReducer, Context, Redux 차이  (0) 2022.11.16
    Jest  (0) 2022.11.10
    React project 복사하기  (0) 2022.11.10
    useEffect에서 async/await 사용하기  (0) 2022.09.29
    불변성 지키기  (0) 2022.09.20

    댓글