首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Jest测试时未定义的全局节点-配置变量

使用Jest测试时未定义的全局节点-配置变量
EN

Stack Overflow用户
提问于 2019-07-17 22:47:36
回答 1查看 2.3K关注 0票数 3

我正在实现来自节点-配置文档的选项2。

运行良好,并且在测试环境之外运行时定义了我的全局配置变量。

但是,当我使用vue-cli和Jest单元测试(例如vue-cli-service test:unit)运行这个程序时,我会得到以下错误:

代码语言:javascript
复制
  ● Test suite failed to run

    ReferenceError: APP_CONFIG is not defined
代码语言:javascript
复制
// vue.config.js
...
 configureWebpack: {
    plugins: [
      new ConfigWebpackPlugin('APP_CONFIG')
    ]
  },
...

绕开这条路有什么好办法?是因为Jest在node-config完成切换所有全局变量及其值之前就开始执行JS文件了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-18 07:49:57

Jest不运行Webpack,所以您必须手动设置测试的配置。作为解决办法,您可以将配置声明为Jest 全局

若要声明全局,请将globals属性添加到jest.config.js中导出的对象中。子属性键将是config-webpack的命名空间(在您的示例中是APP_CONFIG),该值将是来自config/的所需的配置JSON文件。

代码语言:javascript
复制
// jest.config.js
module.exports = {
  globals: {
    APP_CONFIG: require('./config/default.json')
  }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57084920

复制
相关文章

相似问题

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