Jest + React + TypeScript:默认配置

时间:2019-03-19 15:55:12

标签: reactjs typescript configuration jestjs

请问有人可以为Jest + React + TypeScript应用程序提供一个默认的“像魅力一样工作)配置示例吗?

我们当前的jest.config.js是

module.exports = {
roots: [ '/src' ],
transform: {
'^.+\.tsx?$': 'ts-jest',
'.+\.(css|styl|less|sass|scss|png|jpg|ttf|woff|woff2)$': 'jest-transform-stub',
},
testRegex: '(/tests/.*|(\.|/)(test|spec))\.tsx?$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],

// Setup Enzyme
snapshotSerializers: ['enzyme-to-json/serializer'],
setupFilesAfterEnv: ["/enzymeConfig.ts"]
}

似乎我们仍然缺少一些重要的东西,但不知道到底是什么。

1 个答案:

答案 0 :(得分:0)

我没有使用酶(大多数功能都使用React Testing库)。这是我的配置,可以解决问题,但是没什么不同。

在package.json中定义,不是jest.config.js


  "jest": {
    "rootDir": "src",
    "globals": {
      "ts-jest": {
        "tsConfig": "tsconfig.test.json"
      }
    },
    "collectCoverageFrom": [
      "<rootDir>/**/*.{js,jsx,ts,tsx}"
    ],
    "coverageDirectory": "jest-coverage",
    "setupFilesAfterEnv": [
      "@testing-library/react/cleanup-after-each",
      "jest-styled-components"
    ],
    "setupFiles": [
      "raf/polyfill",
      "<rootDir>/__jest__/browserMocks.js",
      "<rootDir>/__jest__/matchMediaMock.js"
    ],
    "transform": {
      "^.+\\.tsx?$": "ts-jest"
    },
    "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json",
      "node"
    ],
    "moduleNameMapper": {
      "\\.(jpg|jpeg|png|svg|css|less|scss)$": "<rootDir>/__jest__/fileMock.js"
    }
  },