Usage/JavaScript
[Istanbul]JavaScript에서 코드 커버리지 확인하기 - 왕초보만
Kamangs
2019. 7. 25. 12:02
728x90
이스탄불은 코드 커버리지를 확인해주는 정말 좋은 툴이다.
코드 커버리지에 대해서는 어짜피 잘 알 것이므로 자세한 설명은 하지 않겠다.
일단 테스트 코드들과 구조를 보자.
이렇게 사이트 들어가서 설명을 읽어보는것을 추천한다.
위와 같은 구조이고 코드를 간략하게 보자.
//util.js
module.exports = {
hi() {
return 'hi';
},
sum(a, b) {
if (a > b) {
return a + b;
} else {
return a + b - 1;
}
},
sub(a, b) {
return a - b;
}
};
//util.spec.js
const expect = require('chai').expect;
const util = require('../src/util');
describe('util', () => {
it('function', (done) => {
const result = 'hi';
expect(result).to.equal(util.hi());
done();
})
it('sum', (done) => {
const value1 = 10;
const value2 = 15;
const result = 24;
expect(result).to.equal(util.sum(value1, value2));
done();
})
});
어쩔 수 없이 babel을 안 쓰므로 nodejs기본스타일로 작성했다.
읽는게 힘들다면 댓글을 달아달라.(물론 그런 분은 없겠지만)
npm i -D mocha
npm i -D chai
npm i -D istanbul
가장 중요한건 istanbul이고 나머지는 테스트용으로 추가한것이다.
npm i -g mocha
npm i -g istanbul
mocha와 istanbul은 cli이므로 글로벌로 설치해도 된다.
이제 테스트해보자.
istanbul cover mochar <테스트코드 위치 폴더>/*
위처럼 하고나면 커버리지를 확인해준다.
또한 결과가 나오게된다.
이렇게 coverage가 생성된다. Icov-report를 눌러보자.
index.html을 눌러보자.
테스트 커버리지를 모아서 보여준다.
세세하게 눌러보면 커버리지가 어떻게 진행됬는지도 확인할 수 있다.