【问题标题】:Jest global variables dynamically imported from a JS file (export.module)从 JS 文件 (export.module) 动态导入的 Jest 全局变量
【发布时间】:2018-11-05 20:51:32
【问题描述】:

我需要导入一个 .js 文件,其中包含要在我的 react 应用程序上使用的配置值:

import config from './config'

这些值已经添加到 webpack 配置中:

webpack.DefinePlugin({...config})

我需要将这些值导入jest.config.js

globals: {
  config: // Here config...
}

“我知道我们可以手动添加这些值,但我想从这个文件中添加它们以防止维护所有值”。

谢谢!

【问题讨论】:

  • 为什么不能导入并添加到全局?

标签: javascript webpack jestjs


【解决方案1】:

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

请注意,如果您在此处指定全局引用值(如对象或数组),并且某些代码在运行测试期间更改了该值,则该更改将不会在其他测试文件的测试运行中持续存在。另外 globals 对象必须是 json-serializable,所以它不能用于指定全局函数。

这里是一个将全局变量添加到你的 jest 配置中的指南,下面是基本用法

 import * as config from "path/to/config";    

 //...package.json || jest.config
 "jest": {
   "globals": {
     ...config
   }
 }

const config = {
  this: 'is now global'
}


console.log({
  jest: {
    globals: {
      ...config
    }
  }
})

您可以将其添加到全局对象并正常导入配置

【讨论】:

  • 谢谢乔,我自己已经在这个文档中找到了解决方案。只是因为我没有读到这一点。但我会接受你的回答,毕竟我不会删除这个解决方案;)
  • @IvanSanchez 您能否帮忙提供答案或文档链接
猜你喜欢
  • 2021-01-27
  • 1970-01-01
  • 2021-06-12
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
  • 2018-07-23
  • 1970-01-01
  • 2011-06-10
相关资源
最近更新 更多