[javascript] Chai의 구체적인 예제로 코드 형태를 살펴보는 방법은?

Chai는 JavaScript용 테스트 어설션 라이브러리로, 코드를 테스트하고 결과를 검증하는 데 사용됩니다. Chai는 다양한 스타일을 제공하며, 각 스타일마다 다른 구문과 어설션 방식을 가지고 있습니다. 이제 Chai의 구체적인 예제 코드 형태를 살펴보도록 하겠습니다.

const chai = require('chai');
const { expect } = chai;

describe('Array', function() {
  describe('#indexOf()', function() {
    it('should return -1 when the value is not present', function() {
      const arr = [1, 2, 3];
      const result = arr.indexOf(4);
      expect(result).to.equal(-1);
    });

    it('should return the correct index when the value is present', function() {
      const arr = [1, 2, 3];
      const result = arr.indexOf(2);
      expect(result).to.equal(1);
    });
  });
});

위 예제 코드는 Array 객체의 indexOf() 메서드를 테스트하는 Chai 코드입니다. 코드를 간단히 분석해보면 다음과 같습니다.

  1. chai 라이브러리를 가져오고, expect 변수를 destructuring으로 가져옵니다.
  2. describe 함수를 사용하여 테스트 모듈을 만듭니다. 이 예제에서는 Array에 대한 테스트 모듈을 만듭니다.
  3. describe 함수 내부에서 다시 describe 함수를 사용하여 메서드를 테스트하는 서브 모듈을 만듭니다. 이 예제에서는 indexOf() 메서드에 대한 테스트 모듈을 만듭니다.
  4. it 함수를 사용하여 실제 테스트 케이스를 구성합니다. 첫 번째 테스트 케이스에서는 indexOf() 메서드가 값이 없을 경우 -1을 반환하는지 검증합니다. 두 번째 테스트 케이스에서는 값이 존재할 경우 올바른 인덱스를 반환하는지 검증합니다.
  5. expect 구문을 사용하여 테스트 결과를 검증합니다. to.equal() 메서드를 사용하여 기대값과 실제 결과를 비교합니다.

위 예제 코드에서는 Chai의 expect 구문을 사용하여 검증을 수행했습니다. 다른 스타일이나 어설션 방식을 사용하려면 Chai의 문서를 참고하시기 바랍니다.

참고 자료: