빠른 참조

Mocha Blanket 코드 커버리지 치트 시트

Blanket.js 및 Mocha로 JavaScript 테스트 코드 커버리지를 측정하는 빠른 참고 가이드.

· 게시일

[!NOTE] 레거시 도구 안내: Blanket.js는 가벼운 인프로세스 Mocha 코드 커버리지 측정에 널리 사용되었습니다. 최신 Node.js 및 TypeScript 코드베이스에서는 c8(네이티브 V8 커버리지) 또는 NYC / Istanbul 사용을 권장합니다.

Blanket.js는 Mocha와 같은 테스트 러너와 원활하게 동작하도록 설계된 JavaScript 코드 커버리지 라이브러리입니다.

설치

npm install --save-dev blanket

테스트 헬퍼 설정

커버리지를 측정할 파일을 require하기 전에 Blanket을 먼저 불러옵니다:

// test/helper.js
if (process.env.COVERAGE) {
  require('blanket')({
    pattern: require('path').resolve('./src')
  });
}

// blanket 훅이 등록된 후 대상 모듈을 불러옵니다
const myModule = require('../src/index');

패키지 스크립트

package.json에 커버리지 명령어를 추가합니다:

{
  "scripts": {
    "test": "mocha test/",
    "coverage": "env COVERAGE=1 mocha -R html-cov > coverage.html && open coverage.html"
  }
}

생성된 HTML 리포트를 .gitignore에 추가합니다:

echo "coverage.html" >> .gitignore

커버리지 리포트 생성을 실행합니다:

npm run coverage

CI 연동 및 Coveralls

LCOV 리포터와 Coveralls 어댑터를 설치합니다:

npm install --save-dev mocha-lcov-reporter coveralls

CI 파이프라인에 실행 단계를 추가합니다:

mocha -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js

참고 자료

관련 주제