And*_*sca 17 node.js typescript jestjs
我需要为我的测试启用一些全局变量,因此我正在设置一个自定义环境以testEnvironment在我的选项中使用jest.config.json以实现这一目标。
对于我们的项目,我们有一个 TypeScript 文件,用于 setupFilesAfterEnv选项它工作得很好,但testEnvironment似乎只支持 ES5。有没有办法在这样的选项中使用 TypeScript?
我使用 ES5 语法成功创建了一个自定义 Jest 环境,但是由于我们正在注入全局变量,因此我需要 TypeScript 来声明一个全局命名空间,请参见:https : //stackoverflow.com/a/42304473/4655076。
{
///...
setupFilesAfterEnv: ['<rootDir>/test/setup.ts'], // This works with ts
testEnvironment: '<rootDir>/test/customJestEnvironment.ts', // This doesn't work with ts
}
Run Code Online (Sandbox Code Playgroud)
小智 -1
global.d.ts您可以在项目的根目录下创建一个文件。
然后您可以定义全局变量,如下所示。就我而言,它是一个 NestJS 应用程序,但您可以定义任何内容。
declare global {
namespace NodeJS {
interface Global {
app: INestApplication;
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是客户端项目的另一个示例,我们定义窗口属性,例如innerWidth;
declare namespace NodeJS {
interface Global {
innerWidth: number;
dispatchEvent: Function;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2820 次 |
| 最近记录: |