使用Jest的Babel模块解析器

97 阅读1分钟

在这里,您将学习如何将Jest与Babel模块解析器用于.babelrc文件中定义的别名:

{
  ...
  "plugins": [
    [
      "module-resolver",
      {
        "root": ["./"],
        "alias": {
          "@components": "./src/components",
          "@constants": "./src/constants",
        }
      }
    ],
  ]
}

为了获得与Jest相同的别名映射,jest.config.js文件需要看起来像这样:

module.exports = {
  roots: ['<rootDir>'],
  moduleFileExtensions: ['js', 'ts', 'tsx', 'json'],
  testPathIgnorePatterns: ['./node_modules/'],
  moduleNameMapper: {
    '^@components(.*)$': '<rootDir>/src/components$1',
    '^@constants(.*)$': '<rootDir>/src/constants$1',
  },
  testEnvironment: 'jsdom',
  transform: {
    '^.+\\.(js|jsx|ts|tsx)$': 'babel-jest',
  },
};

现在你也可以在你的Jest测试环境中使用带有别名的import statemes。