Skip to content

Latest commit

 

History

History
65 lines (45 loc) · 2.75 KB

03.TDD with Mocha.md

File metadata and controls

65 lines (45 loc) · 2.75 KB

Mocha는 Node.js 환경에서 사용할 수 있는 유연하고 기능이 풍부한 JavaScript 테스트 프레임워크입니다. 여기에는 Mocha 설치부터 테스트 케이스 작성, 실행까지의 기본적인 과정이 포함됩니다.

1. Mocha 설치

프로젝트 디렉토리에서 다음 명령어를 실행하여 Mocha를 설치합니다. 이 명령어는 Mocha를 프로젝트의 개발 의존성으로 추가합니다.

npm install mocha --save-dev

2. 테스트 스크립트 설정

package.json 파일에서 scripts 부분을 찾아 test 스크립트를 Mocha를 사용하도록 업데이트합니다. 이렇게 하면 npm test 명령어로 테스트를 실행할 수 있습니다.

"scripts": {
  "test": "mocha"
}

3. 테스트 디렉토리와 파일 생성

Mocha는 기본적으로 test 디렉토리에서 테스트 파일을 찾습니다. 프로젝트 루트에 test 디렉토리를 만들고, 테스트할 기능에 대한 테스트 파일을 생성합니다. 예를 들어, test/exampleTest.js라는 이름으로 파일을 만듭니다.

mkdir test
touch test/exampleTest.js

4. 테스트 케이스 작성

exampleTest.js 파일을 열고, Mocha와 함께 사용할 assertion 라이브러리(예: Chai)를 사용하여 테스트 케이스를 작성합니다. 여기서는 간단한 예제를 제공합니다.

const assert = require('assert');

describe('Array', function() {
  describe('#indexOf()', function() {
    it('should return -1 when the value is not present', function() {
      assert.strictEqual([1,2,3].indexOf(4), -1);
    });
  });
});

5. 테스트 실행

테스트 케이스를 작성한 후, 다음 명령어를 통해 Mocha를 실행하고 테스트를 수행합니다.

npm test

이 명령어는 package.json에 정의된 test 스크립트를 실행하여 test 디렉토리 내의 모든 테스트 파일을 Mocha가 실행하게 합니다. 테스트 결과는 터미널에 출력됩니다.

추가 사항

  • Chai 사용: 더 다양한 assertion을 사용하고 싶다면, Chai assertion 라이브러리를 설치하고 사용할 수 있습니다.
    npm install chai --save-dev
  • 비동기 테스트: Mocha는 비동기 코드 테스팅을 지원합니다. done 콜백이나 Promise, async/await을 사용하여 비동기 테스트를 작성할 수 있습니다.
  • 테스트 커버리지: 테스트 커버리지를 측정하고 싶다면, nyc (Istanbul의 커맨드 라인 버전)와 같은 도구를 함께 사용할 수 있습니다.

Mocha를 사용하여 프로젝트에 단위 테스트를 추가하는 것은 코드의 품질을 유지하고, 잠재적인 버그를 사전에 발견하는 데 큰 도움이 됩니다.