[!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