jest.config.js 1.21 KB
// /** @type {import("ts-jest").JestConfigWithTsJest} */


module.exports = {
  preset: "ts-jest",
  testEnvironment: "jsdom",
  bail: 1, // 这个选项可以设置当n个test失败之后停止执行。
  verbose: true,

  collectCoverage: true,
  coverageDirectory: "coverage",
  collectCoverageFrom: ["(/src/.*\\.(test|spec))\\.[tj]sx?$"], // 配置需要统计覆盖率的文件或目录
  coverageReporters: ["lcov", "text-summary"], // 配置覆盖率报告的格式
  rootDir: "./",
  modulePaths: ["<rootDir>/src/"],
  coveragePathIgnorePatterns: ["<rootDir>/node_modules/"],
  modulePathIgnorePatterns: ["<rootDir>/node_modules/"],
  watchPathIgnorePatterns: ["<rootDir>/node_modules/"],

  transform: {
    "^.+\\.(ts|tsx)$": "ts-jest",
    "^.+\\.(js|jsx)$": "babel-jest",
  },
  transformIgnorePatterns: ['^(?!(lodash-es).*$)(?=node_modules)'],

  testRegex: "(/src/*/.*\\.(test|spec))\\.[tj]sx?$",

  moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json"],
  moduleNameMapper: {
    "^.+\\.(css|less)$": "identity-obj-proxy",
    "^.+\\.(jpg|jpeg|png|gif|svg)$": '<rootDir>/mock/images/fileMock.js',
    "antd/es": "<rootDir>/node_modules/antd/dist/antd.min.js",
  },
  testPathIgnorePatterns: ["<rootDir>/node_modules/"],

};