Typescript - это не средство проверки типов во время выполнения, это средство проверки типов во время компиляции.Это означает, что все типы проверяются перед тем, как код будет преобразован в javascript, и в случае ошибки типа компиляция завершится неудачно.Если ваш класс берет данные из непроверенного источника, то есть API, вы не можете проверить это с помощью машинописи.
Ваш тест предполагает 1 из 2 вещей:
Либо Ваш конструктор предназначен для использования данных, которыеизвестен только во время выполнения, но всегда должен быть строкой и должен выдавать ошибку, если это не так.В этом случае вы можете привести ваш класс к any
, что полностью удалит проверку типов для этого объекта, но позволит вам проверить, что ваш класс выдает ошибку.
const instance = new (MyClass as any)(42) // throws an error
Или ваш класс используется толькоданные, которые разработчик явно предоставляет ему, и ваш тест только проверяет, что машинопись не позволит разработчику совершить ошибку.В этом случае это бесполезный тест, и вам, вероятно, следует удалить его.