ts-jest - объявлять const из набора (.d.ts) значения не определены при запуске jest
Я относительно новичок в использовании Typescript и Jest, и я столкнулся с проблемой, когда у меня есть целая куча окружающих объявлений в файлах наборов (index.d.ts) в @types/screeps
, Это выглядит так:
declare const OK: 0;
declare const ERR_NOT_OWNER: -1;
//etc.
Всякий раз, когда я использую эти константы в тесте, я получаю ReferenceError: OK is not defined
в шутку. Если я объявлю значение в тесте, местоположение ошибки будет перемещено в тестируемый файл.
Я немного погуглил и нашел эту конкретную ошибку в репозитории ts-jest: https://github.com/kulshekhar/ts-jest/issues/112
Тем не менее, мне трудно после обсуждения, потому что я почти никогда не использовал Typescript и действительно не понимаю, как я могу решить эту проблему самостоятельно. Я хочу иметь возможность объявлять эти значения в области видимости и использовать их в своих тестах. Всякий раз, когда код компилируется с использованием накопительного пакета, тип будет выбран (поскольку это глобально доступное значение в Screeps во время выполнения и скомпилированный вывод в порядке). Я не против подправить tsconfig.json или скопировать файлы / взломать решение вместе.
Я попытался скопировать index.d.ts из папки @types в мою тестовую папку, попытался выполнить импорт, попытался изменить declare const
в export const
(но тогда мне нужно импортировать модуль, и все это в определенном пространстве имен). Пытался делать declare global
тоже не повезло.
Кажется, это поведение является преднамеренным по причинам, выходящим за рамки моего понимания. Я действительно смущен, есть ли способ для меня, чтобы решить это? Или мне просто не повезло?
1 ответ
Я могу ошибаться, но такое чувство, что объявление этих значений константами в d.ts, возможно, не правильный путь, но я могу ошибаться.
Это, как говорится, вы пытались добавить их в конфигурации Jest globals
объект?