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을 눌러보자.
테스트 커버리지를 모아서 보여준다.
세세하게 눌러보면 커버리지가 어떻게 진행됬는지도 확인할 수 있다.
'Usage > JavaScript' 카테고리의 다른 글
[Package]async와 자바스크립트에서의 동기화 (0) | 2022.09.21 |
---|---|
[JavaScript][CrossPlatform]Date가 브라우저에 따라 다르게 동작할 수 있다? (0) | 2019.06.28 |
JavaScript지원 확인하기 - 해당 기능 혹은 함수가 내 플랫폼에 지원하는지 아는 방법(2) (0) | 2019.06.05 |
JavaScript지원 확인하기 - 내가 사용하는 플랫폼(브라우저, 모바일, 서버) 버전확인 하는 방법(1) (0) | 2019.06.05 |
[HTML][Javascript]console로 태그(엘리먼트, dom객체)정보 자세히 출력하고 싶다면 console.dir (0) | 2019.03.23 |