Модульный тест с помощью Jest, конструктора класса

#class #jestjs

#класс #jestjs

Вопрос:

Как протестировать следующий класс, который имеет проверку при построении с использованием set.

 const BaseParameter = class BaseParameter {
  constructor(addr, fullname, value) {
    this.addr = addr;
    this.fullname = fullname;
    this.value = value;
  }

  get value() {
    return this._value;
  }

  set value(value) {
    if (typeof value !== "number") {
      throw new TypeError(`Parameter ${this.fullname} should be a number`);
    }
    this._value = value;
  }
};

  

Я попробовал следующий метод Jest.

 test("BaseParameter with invalid constructor", () => {
  expect(new BaseParameter("test", "test fullname", "a")).toThrowError(
    TypeError
  );
});

  

но выдает ошибку, и передача завершается неудачно.

Ответ №1:

В документах есть четкий пример, я просто застрял

 test("BaseParameter with invalid constructor", () => {
  expect(() => new BaseParameter("test", "test fullname", "a")).toThrowError(
    TypeError
  );
});
  

https://jestjs.io/docs/en/es6-class-mocks