jest 에러 테스트 하기

버건디·2023년 4월 10일
0

jest

목록 보기
3/3

만약에 계산기의 합이 100을 넘는다면 에러를 띄어주도록 테스트코드를 작성한다면 ?

- calculator.ts

class Calculator {
  value: number;

  constructor() {
    this.value = 0;
  }


  add(num: number) {
    const sum = this.value + num;
    if (sum > 100) {
      throw new Error("합은 100 을 넘을 수 없습니다!");
    }
    this.value = sum;
  }
}

module.exports = Calculator;

- calculator.test.ts

const MyCalculator = require("../calculator");

describe("Calculator", () => {
  let cal: Calculator;

  beforeEach(() => {
    cal = new MyCalculator();
  });

  it("add", () => {
    cal.set(0);
    cal.add(2);
    expect(cal.value).toBe(2);
  });

  it("합이 100을 넘는다면 에러를 던져야합니다.", () => {
    expect(() => {
      cal.add(103);
    }).toThrow("합은 100 을 넘을 수 없습니다!"); // calculator.ts에서 작성한 에러 메세지와 동일해야함.
  });

});

위처럼 expect안에 콜백함수를 넣어주고, toThrow를 이용해서 에러메세지를 띄어준다.

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글