首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >T- jest -在运行jest时不定义类型(.d.ts)值。

T- jest -在运行jest时不定义类型(.d.ts)值。
EN

Stack Overflow用户
提问于 2018-12-08 11:20:18
回答 1查看 4.2K关注 0票数 4

我在使用类型记录和Jest方面相对较新,我遇到了一个问题,在@types/screeps中的键入文件(@types/screeps)中有大量的环境声明。这些看起来像这样:

代码语言:javascript
复制
declare const OK: 0;
declare const ERR_NOT_OWNER: -1;
//etc.

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

我搜索了一下,在ts-jest存储库中发现了一个特定的bug:https://github.com/kulshekhar/ts-jest/issues/112

然而,我很难跟上这次讨论,因为我很少使用打字本,而且真的不明白我如何能自己解决这个问题。我想要的是能够在环境范围内声明这些值并在我的测试中使用它们。每当使用汇总编译代码时,类型就会被提取(因为它是运行时Screep中的一个全局可用值,并且编译后的输出很好)。我不介意在一起修改tsconfig.json或复制文件/黑客解决方案。

我尝试将index.d.ts从@types文件夹复制到我的测试文件夹中,尝试对其进行导入,尝试将declare const更改为export const (但随后我需要导入模块,所有模块都位于特定的命名空间中)。试着做一个declare global,也没有运气。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-08 12:20:57

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

尽管如此,您是否尝试过将它们添加到jest config globals对象中?

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53682003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档