配置 Jest 模仿 webpack 解析 root 和解析别名

2024-04-27

我正在努力使用 Webpack 和 Jest 建立一个项目。目前,Webpack 解决了配置导致 Jest 测试复杂化的问题。在我的 webpack 配置中,我设置了以下选项:

  resolve: {
    root: [__dirname + "/src/" ],
    extensions: ['', '.js', '.coffee', '.jsx', '.css', '.scss', '.svg']
  }

这让我需要具有以下功能的资产和模块:

import UnknownImg from 'assets/unknown';

上面的内容实际上存在(相对于我的项目根目录)src/assets/unknown.svg.

但是,当我对具有上述行的文件运行测试时,在解析所需模块/资产的路径时会出现错误。

Error: /Users/byronsm/dev/nerve-center/src/components/organisms/system_status.jsx: Cannot find module 'assets/unknown' from '/Users/byronsm/dev/nerve-center/src/components/organisms'

在这种情况下,它似乎正在对导入的模块路径进行相对查找。有没有办法让 Jest 的行为与 Webpack 相同?


现在官方 jest 文档中提供了解决方案。看Webpack 教程 https://facebook.github.io/jest/docs/en/webpack.html.

简而言之,添加modulePaths你的笑话配置选项package.json:

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

配置 Jest 模仿 webpack 解析 root 和解析别名 的相关文章

随机推荐

  • 逐列读取 CSV 文件

    我想从多列 csv 文件中读取特定列 并使用 Java 在其他 csv 文件中打印这些列 有什么帮助吗 以下是我逐行打印每个标记的代码 但我希望只打印多列 csv 中的几列 import java io BufferedReader imp
  • Ngx-datatable cellClass 不工作

    我尝试将自定义 css 附加到 ngx datatable 单元格
  • 将某些软件包的 nuget 软件包更新限制为当前版本

    有没有办法禁用项目中安装的特定 nuget 包的更新 我已经对几个 javascript 库包进行了一些本地修改 并且不想冒将来有人更新我的更改的风险 我从未创建过自己的 nuget 包 我猜一种选择可能是分叉现有的包 你可以尝试约束包 h
  • 检查变量是否存在 - Terraform 模板语法

    我正在尝试使用 terraform 模板语法检查模板文件中是否存在变量 但出现错误This object does not have an attribute named proxy set header cat nginx conf tm
  • JavaScript 文件中的代码如何获取文件的 URL?

    我需要将 CSS 样式表动态加载到位于不同的领域 如何获取 JS 文件的完整 URL 以在href样式表的属性 例如 结构如下 http bla com js script js http bla com css style css 我想将
  • 与 jQuery 配合使用的backbone.js 替代品?

    有没有像backbone js这样的东西的替代品 它为你的前端javascript提供了一些框架 结构 但没有任何不需要的依赖项 并且与jQuery更紧密地结合在一起 您需要一个易于使用的 MVC 框架吗 因为Sammy js http s
  • 如何使用 Spring 配置文件设置 Flyway 迁移文件位置

    我有两个 Spring 配置文件dev and test配置为开发和测试环境 在每个环境中我使用不同的数据库即h2在开发和postgresql在测试中 以下是每个配置文件的我的属性文件 其中 vendor 由 spring boot 解决h
  • 如何指定 Gradle 包装器下载位置?

    我们将项目转移到了 gradle 并在 Jenkins 上持续构建 我们使用 gradle 包装器和 Jenkings gradle 插件 通过查看控制台输出 我发现每次构建都会下载 gradle 11 24 42 Downloading
  • 堆栈小部件内的列表视图不起作用(scrollDirection:Axis.vertical)

    我需要做这个设计 This is my code result 但是当我添加列表视图时它不起作用我需要垂直列表而不是水平列表列表视图 builder 滚动方向 Axis vertical 收缩包装 真实 项目数量 12 itemBuilde
  • C 结构体中的 Typedef

    首先是令我困惑的代码 typedef struct Object typedef int MyInt void destructor Object void constructor struct Object Object 为什么编译器阻止
  • Heroku 在部署时不会预编译资产

    它在其文档中非常清楚地表明 如果我不在本地预编译它们 它就会执行此操作 说实话 我对在本地预编译这些没有兴趣 我所经历过的生产 rb 我已经复制了应用程序 rb In my 生产 rb config serve static assets
  • 使用日期作为窗口函数实现 RANGE

    从 SQLAlchemy 1 4 25 开始 没有内置支持 所以我尝试使用该解决方案here https stackoverflow com a 69606048 11277108 这是我的复制 from datetime import d
  • 使用 ViewBag 时出现 RuntimeBinderException

    我们收到 Layout cshtml 中使用的 Viewbag 项目的 RuntimeBinderException 我们在内存分析器中观察到这些异常 它们不是致命的 一切正常 但很烦人 我们想清除它们 例如 以下代码会导致异常 Rende
  • 有时 git 会在没有我要求的情况下将所有远程 git 分支作为本地分支进行跟踪。发生了什么?

    有时 git 会自发地 在某些但不是全部 拉取 或 克隆 操作期间 将存储库的所有远程分支复制到我的本地存储库中 甚至将它们全部设置为正确跟踪相应的远程分支 这是什么原因造成的 有什么办法可以让我故意这样做吗 如果您只是从远程分支执行普通分
  • 如何获取屏幕触摸的 x,y 坐标?

    当我的应用程序运行时 每当有人触摸屏幕时 是否有一种简单的方法来获取 x y 坐标 只是想将它们存储在一些整数中 覆盖onTouchEvent MotionEvent event 然后打电话event getX and event getY
  • 如何强制 JTable 在包含阿拉伯字符的情况下不反转文本?

    我有以下文字 word 但是当它显示在我的 JTable 上时 它看起来像这样 word 在每个 JLabel 或 TextArea 或任何其他输入中 它确实看起来像原始文本 word 仅在 JTable 上我遇到这样的问题 我不在乎它是否
  • 延迟作业:如何强制处理失败的作业

    我正在维护一个 Rails 应用程序 在该应用程序上运行 Delayed job gem 来发送电子邮件 我刚刚注意到 由于应用程序中的错误 我所有延迟的工作在过去几天都失败了 现在错误已修复 我想尽快处理作业 但它们已经有太多失败的尝试
  • 使窗口在特定边界内可拖动 WPF

    我有一个 wpf 子窗口 允许使用 DragMove 方法进行拖动 但是 我需要允许仅在其父窗口控件的范围内拖动窗口 谁能建议一种方法来实现这一目标 谢谢 有两种方法可以做到这一点 Using 地点已结束 http msdn microso
  • 会话复制在多节点集群上的 glassfish 中不起作用

    会话复制在多节点集群上的 glassfish 中不起作用 1 应用程序在 web xml 中包含可分发标签 2 应用程序部署在集群 c1 中 该集群包含同一节点上的 2 个实例 时 会话复制可以正常工作 3 当部署在集群 c2 包含两台 C
  • 配置 Jest 模仿 webpack 解析 root 和解析别名

    我正在努力使用 Webpack 和 Jest 建立一个项目 目前 Webpack 解决了配置导致 Jest 测试复杂化的问题 在我的 webpack 配置中 我设置了以下选项 resolve root dirname src extensi