Jest React TypeScript: конфигурация по умолчанию

#reactjs #typescript #configuration #jestjs

#reactjs #typescript #конфигурация #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. Что за ошибку вы получаете?

2. Обычно я не могу достичь элемента или вызвать событие или изменение.

Ответ №1:

Я не использую Enzyme (использую библиотеку тестирования React для большинства этих функций). Вот моя конфигурация, которая работает из коробки, но она не так уж сильно отличается.

Определенный в 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"
    }
  },