[React] 벨로퍼트와 함께하는 React Testing - 개요

2022. 11. 16. 15:46·React/실험실
반응형

들어가며

바로 어제 테스팅 게시글을 하나 작성했는데, 

이번에 또 좋은 글을 하나 더 발견해서 추가로 작성하려고 한다. 

 

테스트란? 

테스트 개발에서 테스트는 우리가 작성한 코드가 잘 동작하는지 검증하는 것을 의미한다. 

 

솔직히 프론트엔드에서의 테스트는 어제 글을 작성했지만서도 실행해서 직접 확인하면 되는 거니 

필요성을 못느꼇다. 

하지만 테스트를 수동으로 하나하나하는 것은 번거로운 일이다. 이것을 자동화한다면 편하게 검증이

가능하다. 

 

테스트 자동화의 이점 

협업을 하다보면 내가 작성한 코드를 다른 사람이 수정해야하는 경우가 있고, 내가 다른사람의 코드를 

수정하는 경우가 있다. 

규모가 점차 커지면 커질수록 수동으로 확인하는 일에 많은 시간을 사용하거나 특정 상황을 고려하지 

못한 경우 기능의 일부가 고장날 수 있다. 

 

자동화를 사용하면 수정 전과 똑같이 작동하는지 쉽게 판단이 가능하다. 

 

비슷한 의미로 리팩토링을 진행할 때 실수로 빠뜨린 사항도 쉽게 테스트가 가능하다. 

 

유닛 테스트와 통합 테스트 

유닛 테스트

유닛 테스트는 작은 단위로 작성이 된다. 

▶ 컴포넌트가 잘 렌더링된다.

▶ 특정 함수를 실행하면 상태가 우리가 원하는 형태로 바뀐다. 

▶ 리덕스의 액션 생성 함수가 액션 객체를 잘 만들어낸다.

▶ 리덕스이 리듀서에 상태와 액션 객체를 넣어서 호출하면 새로운 상태를 잘 만들어준다. 

 

프로젝트의 기능을 잘게 쪼개면 각각의 기능이 잘 동작하는지는 확인 할 수 있다. 

하지만 전체적으로 잘 동작하는지 확인은 불가능 할 수 있다. 

통합 테스트

기능들이 전체적으로 잘 동작하는지 확인하기 위해 사용하는 테스트이다. 

▶ 여러 컴포넌트들을 렌더링하고 서로 상호 작용을 잘 하고 있다. 

▶ DOM 이벤트를 발생 시켰을 때 우리의 UI에 원하는 변화가 잘 발생한다.

▶ 리덕스와 연동된 컨테이너 컴포넌트의 DOM에 특정 이벤트를 발생시켰을 때 우리가 원하는

     액션이 잘 디스패치 된다. 

 

정리

유닛 테스트는 하나에 초점을 둔다면, 통합 테스트는 여러 요소를 고려해서 테스트한다. 

일반적으로 유닛 테스트는 한 파일만 불러와서 진행하지만, 통합 테스트는 필요하면 여러 파일을

불러와서 사용할 수 있다. 

반응형
저작자표시 비영리 변경금지 (새창열림)

'React > 실험실' 카테고리의 다른 글

[React] React-Query - 겉핥기  (0) 2022.11.18
[React] 벨로퍼트와 함께하는 React Testing - 자바스크립트 테스팅 기초  (0) 2022.11.17
[React] Test Coverage  (0) 2022.11.15
[React] Recoil - Todo 만들기  (0) 2022.11.11
[React] Recoil - 사용하기  (0) 2022.11.10
'React/실험실' 카테고리의 다른 글
  • [React] React-Query - 겉핥기
  • [React] 벨로퍼트와 함께하는 React Testing - 자바스크립트 테스팅 기초
  • [React] Test Coverage
  • [React] Recoil - Todo 만들기
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    react
    다이소
    리액트
    javascript
    CSS
    프로그래머스
    리얼클래스
    식물
    알고리즘
    타일러영어
    Babel
    네트워크
    네이버 부스트캠프
    바질 키우기
    redux
    next.js
    영어회화
    영어독학
    CCNA
    리얼학습일기
    ChatGPT
    덤프
    Docker
    typescript
    바질
    타입스크립트
    자바스크립트
    Node.js
    webpack
    ReactNative
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[React] 벨로퍼트와 함께하는 React Testing - 개요
상단으로

티스토리툴바