使用Jest和Webpack别名进行测试

说:

我希望能够在使用jest时使用webpack别名来解析导入,并且最好参考webpack.aliases以避免重复。

是conf:

  "jest": {
    "modulePaths": ["src"],
    "moduleDirectories": ["node_modules"],
    "moduleNameMapper": {
      "^@shared$": "<rootDir>/shared/",
      "^@components$": "<rootDir>/shared/components/"
    }
  },

Webpack别名:

exports.aliases = {
    '@shared': path.resolve(paths.APP_DIR, 'shared'),
    '@components': path.resolve(paths.APP_DIR, 'shared/components'),
};

进口:

import Ordinal from '@shared/utils/Ordinal.jsx';
import Avatar from '@components/common/Avatar.jsx';

由于某种原因,@导致了问题,因此将其删除(使用别名和导入)时,可以找到sharedcomponents仍然无法解决。

 FAIL  src/shared/components/test/Test.spec.jsx
  ● Test suite failed to run

    Cannot find module '@shared/utils/Ordinal.jsx' from 'Test.jsx'

我尝试使用jest-webpack-aliasbabel-plugin-module-resolverJest / Webpack docs

说:

这似乎已解决。

以下是有效的设置:

版本号

"jest": "~20.0.4"

"webpack": "^3.5.6"

package.json

"jest": {
  "moduleNameMapper": {
    "^@root(.*)$": "<rootDir>/src$1",
    "^@components(.*)$": "<rootDir>/src/components$1",
  } 
}

webpack.shared.js

const paths = {
  APP_DIR: path.resolve(__dirname, '..', 'src'),
};

exports.resolveRoot = [paths.APP_DIR, 'node_modules'];

exports.aliases = {
  '@root': path.resolve(paths.APP_DIR, ''),
  '@components': path.resolve(paths.APP_DIR, 'components'),
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Mocks使用Jest和Typescript进行测试

异步组件时使用React的Jest和酶进行测试

模拟使用Typescript和Jest进行测试的类

使用useEffect和jest.useFakeTimer()进行测试

无法触发使用Jest和酶进行测试的功能

使用 jest 和 superagent 进行测试时如何模拟函数

在Mocha测试中使用Webpack别名

在 AVA 测试中使用 webpack 别名

使用 jest 进行 Redux 测试

jest.mock() 使用 webpack 别名的正确配置是什么?

使用 TypeScript 的 Jest 测试无法识别导入别名

使用 react-query 和 axios 测试 React 组件中的错误的问题。使用 React 测试库、Jest、MSW 进行测试

如何使用Babel-Jest进行测试

使用 Jest 对 ChartJS 组件进行快照测试

使用 axios 调用进行 Jest 测试

使用 Jest 酶进行异步/等待测试

使用 Jest/Enzyme 进行 FlatList 测试

使用 Jest/Supertest 进行 Express/Typescript 测试

使用Vue.js和Jest进行URL重定向测试

如何获取 H1 标签的值并使用 Jest 和 RTL 对其进行测试

如何使用不同的jest.config.js进行单元和组件测试?

使用React,Jest,Redux和Thunk进行测试中的无限循环

使用Jest进行React,TypeScript和RxJS测试不起作用

使用Jest和Lambda-Tester对AWS Lambda进行单元测试

使用jest-mock-extended和Spectator进行角度组件测试

关于使用nockjs和jest进行诺言/异步单元测试的代码覆盖率问题

使用带有“ vue-test-utils”和“ jest”的“ Updated”钩子进行测试

如何使用Jest在Node.js中对uncaughtException和unhandledRejection进行单元测试

如何使用 store 和 propsData 挂载 Nuxt 组件以进行 Jest 测试