[javascript] Jasmine을 사용한 코드 커버리지 측정 방법

Jasmine은 JavaScript를 위한 BDD(Behavior-Driven Development) 프레임워크로, 테스트 코드 작성을 도와줍니다. 이러한 Jasmine을 사용하여 코드 커버리지를 측정하는 방법을 소개하겠습니다.

Istanbul 설치

Jasmine과 함께 코드 커버리지를 측정하기 위해서는 Istanbul을 사용해야 합니다. Istanbul은 코드 커버리지를 측정하는 라이브러리입니다.

$ npm install istanbul -g

Jasmine과 Istanbul 연동

Jasmine과 Istanbul을 연동하여 코드 커버리지를 측정하기 위해서는 Istanbul이 제공하는 커버리지 커버리징 툴을 사용해야 합니다.

$ istanbul cover jasmine

위 명령어를 실행하면, Jasmine 테스트 코드를 실행하면서 Istanbul이 코드 커버리지를 측정합니다. 테스트가 완료되면, 커버리지 보고서를 생성하고 웹 브라우저로 표시됩니다.

테스트 코드 작성

Jasmine을 사용하여 코드 커버리지를 측정하려면, 테스트 코드를 작성해야 합니다. 테스트 코드는 기능별로 작성되며, 예상되는 동작에 대한 테스트를 포함해야 합니다.

describe('Calculator', function() {
  it('should add two numbers', function() {
    var result = Calculator.add(2, 3);
    expect(result).toEqual(5);
  });

  it('should subtract two numbers', function() {
    var result = Calculator.subtract(5, 3);
    expect(result).toEqual(2);
  });
});

위의 예제는 Calculator 객체를 테스트하기 위한 Jasmine 테스트 코드입니다. 예상되는 동작에 대한 테스트를 작성하고, 실제로 동작을 확인합니다.

코드 커버리지 보고서 확인

테스트 코드를 작성하고 실행한 뒤에는 코드 커버리지 보고서를 확인할 수 있습니다. Istanbul은 테스트를 실행하면서 코드 커버리지 정보를 수집하고 보고서로 만듭니다.

코드 커버리지 보고서를 확인하기 위해서는 다음과 같이 Istanbul의 보고서 뷰어를 사용하면 됩니다.

$ istanbul report

결론

Jasmine의 강력한 BDD 프레임워크와 Istanbul의 코드 커버리지 측정 기능을 함께 사용하여 JavaScript 프로젝트의 코드 품질을 향상시킬 수 있습니다. 테스트 코드 작성 및 실행, 코드 커버리지 보고서 확인 등의 다양한 기능을 활용하여 JavaScript 프로젝트의 안정성과 신뢰성을 높일 수 있습니다.


참고 문서: