Mocha는 Node.js 환경에서 사용할 수 있는 유연하고 기능이 풍부한 JavaScript 테스트 프레임워크입니다. 여기에는 Mocha 설치부터 테스트 케이스 작성, 실행까지의 기본적인 과정이 포함됩니다.
프로젝트 디렉토리에서 다음 명령어를 실행하여 Mocha를 설치합니다. 이 명령어는 Mocha를 프로젝트의 개발 의존성으로 추가합니다.
npm install mocha --save-dev
package.json
파일에서 scripts
부분을 찾아 test
스크립트를 Mocha를 사용하도록 업데이트합니다. 이렇게 하면 npm test
명령어로 테스트를 실행할 수 있습니다.
"scripts": {
"test": "mocha"
}
Mocha는 기본적으로 test
디렉토리에서 테스트 파일을 찾습니다. 프로젝트 루트에 test
디렉토리를 만들고, 테스트할 기능에 대한 테스트 파일을 생성합니다. 예를 들어, test/exampleTest.js
라는 이름으로 파일을 만듭니다.
mkdir test
touch test/exampleTest.js
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);
});
});
});
테스트 케이스를 작성한 후, 다음 명령어를 통해 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를 사용하여 프로젝트에 단위 테스트를 추가하는 것은 코드의 품질을 유지하고, 잠재적인 버그를 사전에 발견하는 데 큰 도움이 됩니다.