기능 및 방법 테스트 Chai

 올바른 예외 발생을 위한 테스트 기능

예외를 테스트하기 위해 throw 에서 제공하는 어설션을 사용할 수 있습니다 Chai. 이 어설션을 사용하면 발생해야 하는 예외 유형과 유효성을 검사하려는 추가 세부 정보를 지정할 수 있습니다. 테스트 사례에 이 어설션을 포함함으로써 함수가 예상대로 작동하고 오류 조건을 적절하게 처리하는지 확인할 수 있습니다.

두 숫자를 나누는 함수가 있는 예를 생각해 봅시다. 우리는 함수가 0으로 나눌 때 예외를 발생시키길 원합니다. 0으로 나눌 때 Chai 함수 throw 가 올바르게 a를 던지는지 확인하기 위해 의 어설션을 사용하여 테스트 사례를 작성할 수 있습니다. DivideByZeroError

const { expect } = require('chai');  
  
function divide(a, b) {  
  if(b === 0) {  
    throw new Error('DivideByZeroError');  
  }  
  return a / b;  
}  
  
describe('divide',() => {  
  it('should throw DivideByZeroError when dividing by zero',() => {  
    expect(() => divide(10, 0)).to.throw('DivideByZeroError');  
  });  
  
  it('should return the correct result when dividing two numbers',() => {  
    expect(divide(10, 5)).to.equal(2);  
  });  
});  

위의 예에서 어설션을 사용하여 0으로 나눌 때 함수가 a를 발생시키는 to.throw 지 확인합니다. 어설션은 예외를 포착하고 필요한 검사를 수행할 수 있도록 함수로 래핑됩니다. divide DivideByZeroError

올바른 예외 발생에 대한 테스트를 포함함으로써 우리의 기능이 오류 조건을 적절하게 처리하고 예기치 않은 상황이 발생할 때 의미 있는 피드백을 제공하는지 확인할 수 있습니다. 이는 코드의 전반적인 품질과 안정성을 향상시키는 데 도움이 됩니다.

결론적으로 예외를 발생시키는 테스트 기능은 소프트웨어 테스트의 중요한 측면입니다. Chai 의 어설션 을 사용하면 throw 필요할 때 함수가 예상되는 예외를 throw하는지 쉽게 확인할 수 있습니다. 이러한 테스트를 테스트 전략에 통합함으로써 애플리케이션의 견고성을 강화하고 더 나은 사용자 경험을 제공할 수 있습니다.

"Node.js, Mocha, 및 Chai " 시리즈 의 세 번째 기사에서는 Chai. 코드 Chai 에서 값과 결과를 테스트하기 위한 강력한 어설션 라이브러리입니다. JavaScript

 

개체 메서드 및 해당 동작 테스트

개체의 메서드를 확인하기 위해 Mocha 및 와 같은 테스트 프레임워크에서 제공하는 어설션을 사용할 수 있습니다 Chai. 이러한 어설션을 통해 개체의 속성 및 동작에 대한 어설션을 만들 수 있습니다.

calculator 덧셈, 뺄셈, 곱셈 및 나눗셈을 위한 메서드로 호출되는 개체가 있는 예를 살펴보겠습니다. 이러한 메서드가 올바른 결과를 반환하는지 확인하려고 합니다. Chai 의 어설션을 사용하여 이러한 메서드의 동작을 확인하는 테스트 사례를 작성할 수 있습니다 .

const { expect } = require('chai');  
  
const calculator = {  
  add:(a, b) => a + b,  
  subtract:(a, b) => a- b,  
  multiply:(a, b) => a * b,  
  divide:(a, b) => a / b,  
};  
  
describe('calculator',() => {  
  it('should return the correct sum when adding two numbers',() => {  
    expect(calculator.add(5, 3)).to.equal(8);  
  });  
  
  it('should return the correct difference when subtracting two numbers',() => {  
    expect(calculator.subtract(5, 3)).to.equal(2);  
  });  
  
  it('should return the correct product when multiplying two numbers',() => {  
    expect(calculator.multiply(5, 3)).to.equal(15);  
  });  
  
  it('should return the correct quotient when dividing two numbers',() => {  
    expect(calculator.divide(6, 3)).to.equal(2);  
  });  
});  

위의 예에서 개체의 메서드가 예상 결과를 반환하는지 확인하기 위해 의 어설션을 Chai 사용 합니다. 각 테스트 사례는 특정 메서드에 초점을 맞추고 주어진 입력에 대해 올바른 출력을 반환하는지 확인합니다. expect calculator

이러한 테스트 사례를 실행하면 개체의 메서드가 calculator 예상대로 작동하고 정확한 결과를 제공하는지 확인할 수 있습니다.

메서드의 반환 값을 확인하는 것 외에도 어설션을 사용하여 개체의 다른 속성과 동작을 확인할 수도 있습니다. Chai 속성 값 확인, 메서드 호출 확인 등과 같이 객체에 대한 다양한 종류의 어설션을 만들 수 있는 광범위한 어설션을 제공합니다.

개체의 메서드를 철저하게 테스트함으로써 우리 코드베이스의 전반적인 품질에 기여하는 정확성과 신뢰성을 보장할 수 있습니다.