[javascript] Mocha에서 테스트에 대한 스텁(stub) 설정 방법은?

Mocha는 테스트 러너로서, 코드의 특정 부분을 테스트하기 위해 스텁을 설정하는 것을 지원합니다. 스텁은 실제 코드 대신 호출되는 가짜 함수를 의미합니다. 이를 사용하여 종속성이나 외부 리소스에 의존하는 코드를 테스트할 수 있습니다.

테스트에서 스텁을 설정하는 방법에는 여러 가지가 있습니다. 아래에는 가장 일반적인 방법을 소개합니다:

  1. Sinon.js를 설치합니다.
    npm install sinon --save-dev
    
  2. 테스트 파일의 상단에 Sinon을 가져옵니다.
    const sinon = require('sinon');
    
  3. 테스트 케이스 안에서 필요한 스텁을 설정합니다.
    describe('My Test', () => {
      it('should stub a function', () => {
     const stub = sinon.stub(object, 'method').returns('stub value');
        
     // 테스트 코드 작성
        
     stub.restore(); // 스텁은 반드시 복원되어야 합니다.
      });
    });
    

위의 예시에서 object.method는 스텁할 함수를 의미하며, 스텁으로 반환할 값은 'stub value'입니다. 스텁은 테스트 케이스 내에서만 적용되며, 복원되어야 다음 테스트에 영향을 주지 않습니다.

Sinon은 다양한 스텁과 모의(mocks) 기능을 제공하기 때문에 Mocha와 함께 사용하면 테스트 코드의 가독성을 높일 수 있습니다.

더 많은 Sinon 사용법에 대해서는 Sinon 공식 문서를 참고하시기 바랍니다: Sinon Documentation