🔒 테스트 커버리지(Test Coverage)란?


테스트 커버리지란 시스템 또는 소프트웨어의 테스트를 논할 때 얼마나 테스트가 충분한가를 나타낸 것이다. 즉, 수행한 테스트가 테스트의 대상을 얼마나 커버했는지를 나타낸다.

🖊️ 테스트 커버리지 사용해보기


package.json에 커맨드로 "coverage"를 넣어줍니다.

// package.json
"scripts": {
    "start": "nodemon app.js",
    "test": "jest",
    "coverage": "jest --coverage"
  },

이렇게 작성한 후 터미널에 실행 시킵니다.

// npm
 
npm run coverage

// yarn

yarn run coverage

실행을 하게되면 테스트 결과와 함께 표가 출력됩니다.

-------------|---------|----------|---------|---------|-------------------
File         | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------|---------|----------|---------|---------|-------------------
All files    |   82.85 |       60 |     100 |   82.85 |                   
 controllers |   53.84 |        0 |     100 |   53.84 |                   
  user.js    |   53.84 |        0 |     100 |   53.84 | 7-14              
 middlewares |     100 |      100 |     100 |     100 |                   
  index.js   |     100 |      100 |     100 |     100 |                   
 models      |     100 |      100 |     100 |     100 |                   
  user.js    |     100 |      100 |     100 |     100 |                   
 services    |     100 |      100 |     100 |     100 |                   
  user.js    |     100 |      100 |     100 |     100 |                   
-------------|---------|----------|---------|---------|-------------------
  • Flie (파일과 폴더 트리)
  • % Stmts (구문 비율)

  • % Branch (if문 등의 분기점 비율)

  • % Func (함수 비율)

  • % Lines (코드 줄 수 비율)

  • % Uncovered Line #s (커버되지 않은 줄 위치)

퍼센티지가 높을 수록 많은 코드가 테스트 되었다는 뜻이다. 여기선 명시적으로 테스트하고 require한 코드만 커버리지 분석이 된다는 점을 주의해야 한다.

profile
개발자가 되기 위한 1인

0개의 댓글

Powered by GraphCDN, the GraphQL CDN