본문 바로가기

Sparta/TIL

24.02.26 TIL - test code(1)

1. 테스트 코드

개발한 코드가 의도한대로 동작하는지 작성하는 코드인데, 테스팅은 결함이 없는것이 아니라, 결함의 존재를 보여주는것이라는 말처럼 기대치를 설정하고 검증하기 위한 것이다.

 

종류로는 가장 작은 규모의 단위테스트, 다양한 기능을 합쳤을 떄 생기는 통합테스트, 끝에서 끝을 의미하는 E2E(End to End) 테스트가 있습니다. 이외에도 돌연변이 테스트 같이 다양한 기법으로 자신들의 서비스가 더욱 치밀한지 확인하려고  노력하고 있다.

 

2.Jest

yarn add -D jest

 

위의 명령어로 설치 후 

 

  "scripts": {
    "test": "node --experimental-vm-modules node_modules/.bin/jest"
  },

이 코드를 package.json에 붙여준다.

 

단위테스트를 작성할 땐 일반전인 관레로 '테스트파일이름.spec.js'와 같이 이름을 설정하곤 한다. jest가 테스팅을 위해 기본적으로 제공하는 함수가 있는데 다음과 같다.

  • test(): 단위 테스트를 묶어주는 함수
  • expect(): 특정 값이 만족되는지(정상적인지) 확인하기 위한 표현식을 작성할수 있게 해주는 함수

 

위에서 붙여넣기 한 내용 덕에 yarn test라는 명령어로 테스트를 구동할 수 있다.

 

3.자주 사용되는 matcher 메소드

 

1) toEqual() : 값이 기대값과 일치하는 지 검사

2) toBeTruthy(), toBeFalsy() : true / false로 취급되는 구문을 확인

3) toContain() : Array 또는 iteration이 가능한 (Set, Map 등...) 객체에 특정 요소 포함 여부를 확인

 

이외에도 여러가지 matcher가 있지만 차후에 정리해보도록 하겠다.