테스트??

박상준·2022년 9월 30일
0

React-testing

목록 보기
1/2

수동 테스팅(Manual Testing)

  • 브라우저에서 작성한 코드를 미리보고, 테스트 하는 것
  • 우리가 보는 것이 사용자가 보는 것과 똑같기 때문에 매우 중요함
  • 단점 : 수동으로는 가능한 모든 조합과 시나리오를 테스트 하는 것이 힘듦

자동 테스팅(Automated Testing)

  • 추가적으로 작성한 코드를 통해 작성된 코드를 테스트하는 것
  • 코드가 변경될 때마다 서로 다른 개별 구성 요소를 테스트하고 그 다음 모든 구성 요소를 한번에 테스트한다.
  • 모든 것을 상시 테스트할 수 있다는 장점이 있다.

자동 테스트의 종류

  1. 단위 테스트 (Unit Test)
    • 앱의 가장 작은 단위에 대한 테스트를 작성 (ex 앱의 함수 또는 컴포넌트)
    • 모든 함수 및 컴포넌트를 테스트하기 때문에 프로젝트에 가장 많이 사용되는 테스트 즉, 가장 흔하고 중요한 테스트
  2. 통합 테스트 (Intergration Test)
    • 여러개의 구성 요소 조합을 테스트할 때 사용 (ex 다수의 컴포넌트가 함께 작동될 때)
    • 통합 테스트도 중요하지만 단위 테스트보단 적게 사용됨
  3. 전구간 테스트 (End to End Test)
    • 앱 전체의 워크플로우를 테스트할 때 사용(ex 사용자가 경험할 수 있는 모든 것)

테스트 시작할 때 중요한 것

  1. 무엇을 테스트 할 것 인가?
    • 앱을 구성하는 서로 다른 요소를 테스트
    • 작고, 집중된 테스트로 주요 사항만 테스트
  2. 어떻게 테스트 할 것인가?
    • 사용자가 앱을 사용했을 때 발생할 수 있는 성공 및 오류 사례를 테스트, 흔하지 않은 시나리오 결과도 테스트

테스트 작성 시 사용되는 three 'A'

  1. Arrange
    • render()를 사용하여 테스트 하고자 하는 컴포넌트를 렌더링
  2. Act
    • 버튼 클릭 같이 행동을 통해 테스트할 때 사용
  3. Assert
    • test를 통해 나온 결과와 우리가 예상한 결과와 같은지 확인

리액트에서 사용하는 툴

- create-react-app으로 생성 시 기본적으로 포함되어 있음
  1. Jest
    • 테스트를 위한 코드를 실행하고 결과를 확인하기 위해 사용
  2. react-testing-library
    • 리액트 앱에서 컴포넌트를 렌더링하고 시뮬레이팅하기 위해 사용
profile
꾸준히 성장하는 개발자

0개의 댓글