gpt4 book ai didi

typescript - ts-jest - 运行 jest 时,从类型 (.d.ts) 中声明 const 值未定义

转载 作者:行者123 更新时间:2023-12-04 13:43:16 26 4
gpt4 key购买 nike

我是使用 Typescript 和 Jest 的新手,我遇到了一个问题,我在 @types/screeps 中的类型文件(index.d.ts)中有一大堆环境声明.这些看起来像这样:

declare const OK: 0;
declare const ERR_NOT_OWNER: -1;
//etc.

每当我在测试中使用这些常量时,我​​都会得到一个 ReferenceError: OK is not defined在 Jest 中。如果我确实在测试中声明了该值,则错误的位置将移动到正在测试的文件中。

我做了一些谷歌搜索,我在 ts-jest 存储库中发现了这个特定的错误: https://github.com/kulshekhar/ts-jest/issues/112

但是,我很难跟随讨论,因为我几乎从未使用过 Typescript,而且我真的不明白如何自己解决这个问题。我想要的是能够在环境范围内声明这些值并在我的测试中使用它们。每当使用 rollup 编译代码时,类型都会被拾取(因为它是运行时 Screeps 中的全局可用值,并且编译输出很好)。我不介意调整 tsconfig.json 或复制文件/一起破解解决方案。

我尝试将 @types 文件夹中的 index.d.ts 复制到我的测试文件夹中,尝试对其进行导入,尝试更改 declare constexport const (但后来我需要导入模块,并且它都在一个特定的命名空间中)。尝试做一个 declare global ,也没有运气。

出于我无法理解的原因,这种行为似乎是故意的。我真的很困惑,有没有办法解决这个问题?还是我只是运气不好?

最佳答案

我可能是错的,但感觉在 d.ts 中将这些值声明为常量可能不是正确的方法,但我可能是错的。

话虽如此,您是否尝试将它们添加到 jest 配置中 globals目的?

https://jestjs.io/docs/en/configuration#globals-object

关于typescript - ts-jest - 运行 jest 时,从类型 (.d.ts) 中声明 const 值未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53682003/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com