[javascript] Mocha에서 테스트의 성공/실패 여부를 어떻게 확인하는가?

Mocha는 JavaScript 테스트 프레임워크로, 테스트 결과의 성공 또는 실패를 확인하는 방법을 제공합니다. 다음은 Mocha를 사용하여 테스트 결과를 확인하는 방법입니다.

  1. assert 모듈 사용하기: Mocha는 기본적으로 Node.js의 assert 모듈을 사용합니다. assert 모듈은 내장된 테스트 어설션(assertion) 함수를 제공하여 값을 비교하고 결과를 확인할 수 있습니다. 예를 들어, assert.strictEqual(a, b) 함수를 사용하여 ab의 값이 일치하는지 확인할 수 있습니다. 일치하지 않을 경우 테스트는 실패로 표시됩니다.

    const assert = require('assert');
    
    describe('테스트 예제', function() {
      it('값 비교', function() {
        const a = 5;
        const b = 5;
        assert.strictEqual(a, b);
      });
    });
    
  2. chai 라이브러리 사용하기: chai는 Mocha와 함께 사용할 수 있는 자바스크립트 어설션 라이브러리로, 좀 더 풍부한 어설션 함수를 제공합니다. 다양한 어설션 함수를 사용하여 값의 동등성(equality) 또는 항목의 존재 여부 등을 확인할 수 있습니다.

    const { expect } = require('chai');
    
    describe('테스트 예제', function() {
      it('값 비교', function() {
        const a = 5;
        const b = 5;
        expect(a).to.be.equal(b);
      });
    });
    
  3. 비동기 테스트 결과 확인하기: 비동기 코드를 테스트할 때는 콜백 함수나 프로미스를 사용해야 합니다. 이 경우 Mocha는 done 콜백 함수를 사용하여 테스트가 완료될 때까지 기다리도록 할 수 있습니다. done 함수를 인자로 받아서 테스트를 성공 또는 실패로 표시할 수 있습니다.

    describe('비동기 테스트 예제', function() {
      it('비동기 함수 테스트', function(done) {
        doAsyncTask(function(result) {
          expect(result).to.be.equal('success');
          done();
        });
      });
    });
    

위의 예시들은 Mocha를 사용하여 테스트 결과를 확인하는 방법을 보여주고 있습니다. 사용하는 어설션 라이브러리에 따라 다양한 방법을 활용할 수 있으니, 자신에게 가장 편한 방법을 선택하여 테스트를 작성하면 됩니다.

참고 문서: