[javascript] Webpack으로 테스트 환경 구축하기

현대적인 웹 개발에서 테스트는 필수적인 과정입니다. 테스트 환경을 구축하면 코드의 신뢰성을 높이고 버그를 사전에 발견할 수 있습니다. 이번 포스트에서는 Webpack을 사용하여 JavaScript 프로젝트의 테스트 환경을 구축하는 방법에 대해 알아보겠습니다.

1. 테스트 패키지 설치하기

먼저, 테스트를 위해 필요한 패키지들을 설치해야 합니다. 보통 mocha, chai, babel 등의 패키지를 사용하여 테스트를 작성합니다. 아래 명령어를 사용하여 패키지를 설치합니다.

npm install mocha chai @babel/core @babel/preset-env --save-dev

2. 웹팩 설정 파일 작성하기

다음으로, 웹팩의 설정 파일을 작성해야 합니다. 웹팩 설정 파일은 webpack.config.js라는 이름으로 저장합니다. 아래는 기본적인 웹팩 설정 파일의 예시입니다.

const path = require('path');

module.exports = {
  entry: './src/index.js',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js',
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env'],
          },
        },
      },
    ],
  },
};

위 설정 파일은 ./src/index.js 파일을 진입점으로 하여 번들링하고, 번들된 파일은 ./dist/bundle.js에 저장하는 설정입니다. 또한, Babel을 사용하여 ECMAScript 6 이상의 코드를 변환하는 작업을 수행합니다.

3. 테스트 스크립트 작성하기

이제 실제로 테스트를 작성해보겠습니다. test 디렉토리를 생성하고, 그 안에 sample.test.js 파일을 만들어주세요. 아래는 테스트 코드의 예시입니다.

const { expect } = require('chai');
const sample = require('../src/sample');

describe('Sample', () => {
  it('should return the doubled value', () => {
    const result = sample.double(5);
    expect(result).to.equal(10);
  });
});

위 테스트 코드는 sample.js 파일의 double 함수가 올바르게 작동하는지를 검증합니다.

4. 테스트 실행하기

모든 설정이 완료되었으면, 터미널에서 아래 명령어를 실행하여 테스트를 실행할 수 있습니다.

npx mocha test/*.test.js --compilers js:babel-register

위 명령어는 test 디렉토리 안에 있는 .test.js 확장자를 가진 파일들을 Babel과 함께 실행하여 테스트를 수행합니다.

마무리

Webpack을 사용하여 테스트 환경을 구축하는 방법에 대해 알아보았습니다. 테스트를 통해 코드의 신뢰성을 높일 수 있고, 개발 및 유지보수의 효율성을 향상시킬 수 있습니다. 추가적인 테스트 라이브러리나 자동화 도구를 사용하여 테스트 환경을 더욱 강화할 수도 있습니다.