오류를 발생시키는 Jest 매개변수화된 테스트

노드에서 실행되는 아래와 같은 코드가 있다고 가정해 봅시다.

module.exports.registerUser = (username) => {
  if (!username) throw new Error('Username is required.');

  return { id: new Date().getTime(), username: username }
}


코드에서 오류가 발생해야 하는 시나리오는 username가 유효하지 않은 경우입니다.
username가 유효하지 않으려면 usernameFalse , 0 , null , '' , undefined 중 하나여야 합니다.

jest 문서에는 jest의 매개변수화(데이터 기반) 테스트에 대한 섹션이 있습니다. 그러나 잘못된 상황을 대량으로 처리하는 방법이 명확하지 않습니다.

제가 올린 코드는 아래와 같습니다. 도움이 되길 바랍니다!

describe("registerUser", () => {
  it.each([null, undefined, NaN, "", 0, false])(
    "should throw if username is falsy",
    (inputs) => {
      expect(() => lib.registerUser(input)).toThrow();
    }
  );
});

좋은 웹페이지 즐겨찾기