因此,我正在使用 Jest(带有 Enzyme)来测试 Typescript-React 项目,并且遇到了别名模块的问题。
我知道问题本身不是找到模块,因为它正确找到了模块。我认为问题可能出在我的一个文件的结构上。
笑话配置.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"
},
};
Run Code Online (Sandbox Code Playgroud)
我正在测试的组件中使用的导入:
import { Label } from 'components';
Run Code Online (Sandbox Code Playgroud)
我的项目结构在组件中的引导方式如下:
src
|_ components
|_ // …Run Code Online (Sandbox Code Playgroud)