使用命名导入在 Je​​st 测试中导入“常量”

2024-03-05

我有一个config and constants我的项目中的文件夹。位于src\config\test.ts & src\constants\index.js分别。

我已经设置了 Jest 来使用moduleNameMapper如下所示,这样我就可以做import config from 'config' and import { SOME_CONST } from 'constants'

"moduleNameMapper": {
  "config$": "<rootDir>/src/config/test.js",
  "constants$": "<rootDir>/src/constants/index.js"
}

但是,在我的测试中,任何使用的文件import { SOME_CONST } from 'constants'总是得到一个undefined价值SOME_CONST而我们默认导出的任何config工作正常。

这是一个已知的问题?我在这里做错了什么吗?似乎无法确定它。


我和你遇到了同样的问题,但我最终发现了这个github问题 https://github.com/facebook/jest/issues/1641解决这个问题。看起来像constants是一个核心模块,因此在 jest 的模块映射之前进行评估。我发现这条评论 https://github.com/facebook/jest/issues/1641#issuecomment-267517156这对我有用,并说将其放入您的测试文件中:

jest.mock('constants', () => require('path/to/your/constants'))

另一种方法是按照 @dougajmcdonald 中的建议进行操作他的评论 https://stackoverflow.com/users/777733/dougajmcdonald上面,并将您的 webpack 别名重命名为constants到其他事情,例如app-constants.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用命名导入在 Je​​st 测试中导入“常量” 的相关文章

  • 运行玩笑测试时,Firebase 在signInAnonymously() 上抛出“auth/network-request-failed”

    我正在使用 firebase 为我的应用程序 使用 create react app 构建 编写一些测试 并且我正在尝试匿名登录我的测试数据库 但认证失败 然而 所有其他 Firebase 操作 CRUD 都工作得很好 我还可以从在浏览器中
  • 如何在Spring中模拟ModelMapper?

    我正在尝试为我的服务层编写单元测试 SpringBootTest class ClinicServiceTest Mock private ProcedureRepository procedureRepository InjectMock
  • 哪些浏览器容易受到多个 x-frame-options 的影响

    我正在做一个网络应用程序测试 发现多个 x frame options 标头条目存在一些漏洞 哪些浏览器容易受到多个 x frame options 的攻击 Multiple x frame options 标头条目可能受到哪些攻击 点击劫
  • 帮助测试人员的最佳方法是什么?

    我的公司很小 只有一名全职测试人员 而且我们主要做网络应用程序 所以我很高兴我们有测试人员 因为我认为在调试我自己的代码时我可能会有偏见或懒惰 而且我们的测试人员实际上位于另一个国家 因此通常我们仅通过即时消息或电子邮件进行交流 通常我会尝
  • 如何为Spring测试创建TestContext?

    我有一个相对较小的 Java 库 它实现了几十个 bean 没有数据库或 GUI 我创建了一个 Spring Bean 配置文件 其他 Java 项目使用该文件将我的 bean 注入到他们的东西中 我现在第一次尝试使用 Spring Tes
  • 独立 Symfony2 包内的功能测试

    我需要直接在独立包中进行一些功能测试 我不想测试控制器 只是测试真实服务之间的一些交互 我想知道是否有标准 最佳方法可以做到这一点 我用一种方法做到了 但想知道是否有更好的方法 这是我自己的解决方案 我总结了在独立包中测试的所有过程 1 首
  • 玩笑测试因 refs 和 Form 失败

    我有一个搜索栏组件 如下所示 render const onChangeTextInput this props return
  • gem 如何提供 Cucumber 功能和步骤定义?

    我有两个 Rails 项目 A 和 B 其中包含以下宝石 project A gem green theme path gt dev themes green theme gem devel tasks path gt dev themes
  • 测试linux下磁盘空间不足

    我有一个程序 当写入某个文件的磁盘空间不足时 该程序可能会死掉 我不确定是否是这种情况 我想运行它并查看 但我的测试服务器不会很快耗尽空间 有什么办法可以嘲笑这种行为吗 看起来没有任何方法可以在 Ubuntu 中设置文件夹 文件大小限制 并
  • 如何模拟一个方面

    我目前正在使用aspectj 开发一些监控工具 因为这个工具应该是技术独立的 尽可能 所以我没有使用 Spring 进行注入 但我希望我的方面能够经过单元测试 方面示例 Aspect public class ClassLoadAspect
  • 如何在 Azure DevOps 中的运行未完成时更改其状态

    当我通过测试计划 gt 测试套件 gt 选择要执行的测试 gt 执行 gt 运行 Web 应用程序启动手动测试执行时 测试和反馈 浏览器扩展将启动 当由于任何原因我没有完成时测试执行并关闭 测试和反馈 窗口 系统将创建一个新的测试运行 可以
  • mocha——手表和猫鼬模型

    如果我让 mocha 监视更改 每次保存文件时 mongoose 都会抛出以下错误 OverwriteModelError 无法覆盖Client模型一旦编译 我知道猫鼬不允许两次定义模型 但我不知道如何让它与mocha watch clie
  • Cypress.io 如何处理异步代码

    我正在将旧的水豚测试转移到 cypress io 因为我们的应用程序正在采用 SPA 方式 在我们的案例中 我们有超过 2000 个测试 涵盖了很多功能 因此 测试功能的常见模式是让用户创建并发布报价 一开始我写了 cypress 浏览页面
  • 如何在调试器模式下运行 perl 测试?

    我尝试在调试器下运行测试 perl d which prove t file t 但这没有任何效果 因为每个测试都是作为单独的作业运行的 我已经发现 exec选项 但是当我提供它时 我失去了任何选项 proverc文件和命令行 prove
  • 如何将脚本作为 pytest 测试运行

    假设我有一个用简单脚本表示的测试assert 陈述 请参阅背景了解原因 例如 import foo assert foo 3 4 我如何以一种好的方式将该脚本包含在我的 pytest 测试套件中 我尝试了两种有效但不太好的方法 一种方法是将
  • 如何使用 jest 通过 Promise.all 设置多次提取测试

    我在测试中使用 jest 我正在使用 React 和 Redux 并且执行以下操作 function getData id notify return dispatch gt dispatch anotherFunction Promise
  • 诸如用于测试 HTTP 请求的虚拟 REST 服务器之类的东西? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在四处寻找 但找不到任何这样的网站 我想知道是否有一些虚拟服务器可以响应测试 GET 请求并返回
  • 如何在 Rails 测试中测试 params 哈希?

    以下内容会生成错误 未定义的局部变量或方法 params assert equal params recipient id users one id 如何测试参数哈希 另外 你如何测试assert redirect当存在参数时 参数附加到
  • 如何测试某些代码在 C++ 中无法编译? [复制]

    这个问题在这里已经有答案了 可能的重复 单元测试编译时错误 https stackoverflow com questions 605915 unit test compile time error 我想知道是否可以编写一种单元测试来验证给
  • Jest - 模拟函数,从另一个文件导入

    测试的文件使用从另一个文件导入的函数 import myFunc from myFile 如何在该文件的测试中模拟该函数的返回值 我正在使用笑话 这对我有用 我不确定这是否是一个好的做法 import as myFile from myFi

随机推荐

  • 在 Azure DevOps REST API 中查找附件以进行删除

    当我向 Azure DevOps REST 服务 创建 提交附件时 是否可以在某个地方可视化其中的所有附件 或者我最好的做法是发送一个 GET 来给我列表 然后我的问题就变成了 我无法删除不需要的附件 有没有一个地方可以让我可视化所有附件
  • 有关来自 oracle.com 的并发代码的问题,该代码解释了死锁

    我从 oracle com 得到了一段代码 它解释了一般的并发性和特别的死锁 代码来自 https docs oracle com javase tutorial essential concurrency deadlock html ht
  • 如何转换从 json 创建的 `_InternalLinkedHashMap`?

    有时 当在 Dart 中遍历复杂的 json 文件时 如果我们能够告诉编辑器期望的结构是什么 这样我们就可以充分利用编辑器的结构 那就太好了 智能代码补全特征 作为一个玩具示例 请考虑以下脚本作家 dart import dart conv
  • php 中转换为 md5 是错误的

    我有一个表格 其中我从用户那里获取用户名和密码 我正在将密码转换为 md5 然后我将其插入数据库 在用户登录表单中 我获取密码并将其转换为 md5 然后我比较两个密码 它在某些条件下匹配 但如果密码 则失败p w0rd 有什么问题吗 这个问
  • 在 Windows CMD 上递归删除文件或文件夹

    如何从命令行在 Windows 上递归删除文件或文件夹 我找到了这个解决方案 我们在命令行上驱动路径并运行此命令 我给出了一个带有 svn 文件扩展名文件夹的示例 for r R in svn do if exist R rd s q R
  • 安卓短信API

    我知道 SMS 内容提供商不是公共 API 的一部分 至少没有记录 但如果我理解正确 只要您知道如何使用 API 仍然可以使用许多 SMS 功能 例如 将短信插入收件箱非常简单 ContentValues values new Conten
  • 如何使用 jQuery 获取具有相同 z-index 的元素?

    现在 我有不同的元素z index 我想使用 jQuery 将它们分组 div class float div div class float div div class float div 我可以用 attr style 得到z inde
  • 确定我正在使用的实体框架版本?

    我相信有两个版本1和2 版本 2 被称为实体框架 4 0 我如何知道应用程序中正在使用哪个版本 这是在我的 web config 中 这是否意味着我正在使用版本 2
  • TwinCAT 3.0 自动化接口无需 Visual Studio?

    我需要从 C 应用程序启动 关闭 TwinCAT 3 0 正如善意回答的如何从控制台 C 程序启动 关闭TwinCAT系统 https stackoverflow com questions 54077462 how to startup
  • 在 iOS 中将 CSV 上传(转换为电子表格)到 Google Drive?

    我已经生成 csv 文件来存储在本地目录路径中 我尝试将 csv 文件上传到谷歌驱动器 它工作正常 从 Google 云端硬盘打开 csv 文件 但电子表格中未显示预览 所以我想上传 csv 文件 将 csv 转换为电子表格 到谷歌驱动器
  • 扩展 EF DBContext

    我不确定我所问的是否是正确的方法 我有一个数据库优先模型 我想向其中添加某些常用方法 例如更新特定表的特定字段 我知道我可以通过使用适当的方法创建一个类来做到这一点 例如 public static class MyClass public
  • Eclipse 传入同步视图将传入的新文件显示为文件夹

    我希望可以在这里询问 Eclipse 中的奇怪行为 错误 当我将 Eclipse 同步视图与 Subclipse 结合使用时 我可以通过指向左侧的蓝色箭头很好地查看来自其他开发人员的所有传入文件 双击非常适合打开比较编辑器并查看所有更改 一
  • 如何在 C# 中将包含 HTML 的字符串渲染为图像?

    我正在开发一个为用户提供交互式反馈工具的网络应用程序 在此应用程序中 用户可以单击发送反馈按钮 该按钮会在当前网页上覆盖一个覆盖层 并允许他们拖动突出显示区域DIVs 强调某些领域 一旦他们提交反馈 整个页面的 HTML 就会通过 AJAX
  • 当生成正态分布的随机值时,定义范围的最有效方法是什么?

    仅供参考 随机 伪随机 A 当生成均匀随机数时 我可以指定一个范围 即 Math random Math random 10 5 generates numbers between 5 and 15 B 生成一组具有高斯式正态随机性版本的随
  • 从多个 CSV 文件中解析特定列/数据

    所以 最近我一直在使用 D3 js 解析 CSV 文件中的数据 在阅读 Scott Murray 的 交互式数据可视化 一本很棒的书 内容非常丰富 时 它解释了如何从 CSV 中的表中选择所有数据 解析CSV的代码如下所示 d3 text
  • 如何在 JavaScript 中访问 Grails 变量?

    我的 Grails 应用程序中有一个变量BootStrap groovy class BootStrap def init servletContext gt def testGrails 11 我想展示一个 JavaScriptalert
  • 使用 Maven 在 gitlab 中运行 (Docker) 测试容器

    我正在 gitlab ci cd 管道中工作 该管道使用 maven 和 docker 执行其所有命令 不包括部署 在本例中 我尝试运行集成测试 由 Maven 启动 它使用测试容器 用于 mysql 数据库 这些测试在本地运行时工作正常
  • 如何在 Vue 模板中的数组中使数据响应

  • 如何从 Java Web 应用程序将用户发推文到他/她的 Twitter 帐户

    你好 我想构建一个 java web 应用程序 我希望用户从我的 java 应用程序在他的帐户上发推文 现在 当我们考虑 twitter4J 时 它显示的代码正在使用我们自己在 twitter 开发门户上注册的应用程序 它不要求客户提供凭据
  • 使用命名导入在 Je​​st 测试中导入“常量”

    我有一个config and constants我的项目中的文件夹 位于src config test ts src constants index js分别 我已经设置了 Jest 来使用moduleNameMapper如下所示 这样我就