728x90


이스탄불은 코드 커버리지를 확인해주는 정말 좋은 툴이다.

코드 커버리지에 대해서는 어짜피 잘 알 것이므로 자세한 설명은 하지 않겠다.

일단 테스트 코드들과 구조를 보자.


https://istanbul.js.org/

이렇게 사이트 들어가서 설명을 읽어보는것을 추천한다.




위와 같은 구조이고 코드를 간략하게 보자.


//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을 눌러보자.


테스트 커버리지를 모아서 보여준다.


세세하게 눌러보면 커버리지가 어떻게 진행됬는지도 확인할 수 있다.

+ Recent posts