gpt4 book ai didi

javascript - 为什么 Jest 尝试解析我的 index.ts 中的每个组件?

转载 作者:行者123 更新时间:2023-12-04 14:00:33 24 4
gpt4 key购买 nike

所以我正在使用 Jest (with Enzyme) 来测试一个 Typescript-React 项目,并且遇到了别名模块的问题。

我知道问题本身没有找到模块,因为它正确地找到了模块。我认为问题可能出在我的一个文件的结构上。

jest.config.js

module.exports = {
"collectCoverage": false,
"collectCoverageFrom": [
"!**/*.d.ts",
"src/**/*.{js,jsx,ts,tsx}"
],
"coverageDirectory": "test",
"moduleFileExtensions": [
"ts",
"tsx",
"js",
"jsx",
"json",
"node"
],
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"testEnvironment": "node",
"testURL": "http://localhost",
"transform": {
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^.+\\.tsx?$": "ts-jest"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$"
],
"resolver": "jest-webpack-resolver",
"moduleNameMapper": {
"^react-native$": "react-native-web",
"^components$": "<rootDir>/src/components",
"^reducers$": "<rootDir>/src/reducers",
"^actions$": "<rootDir>/src/actions",
"^selectors$": "<rootDir>/src/selectors",
"^services$": "<rootDir>/src/services",
"^views$": "<rootDir>/src/views",
"^domains$": "<rootDir>/src/domains"
},
};

正在测试的我的组件中使用的导入:
import { Label } from 'components';

我的项目结构在组件中采用以下方式:
src
|_ components
|_ // ..various folders with React components
|_ index.ts

我的 index.tsx 基本上是这样的:
export { default as Label } from './Label/Label'
// export other components

发生的情况如下:

当我运行 Jest 时,它可以很好地解析我的“组件”模块,这在我的 webpack.alias 中是一样的,但是破坏测试运行的是它开始“构建”(我不确定它是否真的构建了?)其他组件,并开始上升一些我什至没有测试的组件的依赖关系树,并最终中断,因为它一直到运行整个应用程序的主 index.tsx 文件。

问题是我构建 index.ts 以导出所有组件的方式吗?

最佳答案

我也有同样的问题。这似乎与开 Jest 拥有自己的模块解析器有关。也许这有帮助:https://jestjs.io/docs/ecmascript-modules

关于javascript - 为什么 Jest 尝试解析我的 index.ts 中的每个组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49156356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com