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

标签 webpack jestjs

我正在使用 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

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

错误:/Users/byronsm/dev/nerve-center/src/components/organisms/system_status.jsx:无法从“/Users/byronsm/dev/nerve-center/”中找到模块“assets/unknown” src/组件/有机体'

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

最佳答案

官方 jest 文档中现已提供解决方案。请参阅Webpack Tutorial .

简而言之,将 modulePaths 选项添加到 package.json 中的 jest 配置中:

"jest": {
    "modulePaths": ["src"], 
    ...
}

关于webpack - 配置 Jest 模仿 webpack 解析 root 和解析别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33190795/

相关文章:

node.js - Angular NG 构建-EMFILE : too many open files

webpack - 我可以将 CSS 模块与 Storybook 5(React 风格)一起使用吗?

reactjs - Create React App 4.0 无法解析公用文件夹中的图像路径

javascript - 使用 Material UI 和 React 测试库时从对话框测试 onClose 回调?

javascript - React,如何模拟用户输入进行单元测试?

reactjs - 如何测试 componentWillUnmount

reactjs - 当 URL 包含多个路径时 React Router 不工作

webpack - 如何使用 webpack 4 和 mini-css-extract-plugin 生成 css 文件?

typescript - 如何在没有冲突的情况下将 Mocha 和 Jest 与 TypeScript 一起使用?

reactjs - React、Jest、Enzyme 如何通过 store redux 通过测试 App.js