Использование ts-jest с приложением create-реагировать

Когда используешь create-react-app с react-scripts-ts использовать TypeScript, выполняя тесты с --coverage флаг приводит к некорректным отчетам о покрытии. Есть ли способ интегрировать ts-jest, чтобы отчеты о покрытии были точными?

Ниже моя шутка конфигурации в package.json:

"jest": {
    "transform": {
      "^.+\\.tsx?$": "ts-jest"
    },
    "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js",
      "jsx",
      "json",
      "node"
    ],
    "mapCoverage": true,
    "coverageThreshold": {
      "global": {
        "branches": 100,
        "functions": 100,
        "lines": 100,
        "statements": 100
      }
    }
  }
}

Изменить: Это сообщение об ошибке, которое я получаю:

Out of the box, Create React App only supports overriding these Jest options:

  • collectCoverageFrom
  • coverageReporters
  • coverageThreshold
  • snapshotSerializers.

These options in your package.json Jest configuration are not currently supported by Create React App:

  • transform
  • testRegex
  • moduleFileExtensions
  • mapCoverage

If you wish to override other Jest options, you need to eject from the default setup. You can do so by running npm run eject but remember that this is a one-way operation. You may also file an issue with Create React App to discuss supporting more options out of the box.

0 ответов

Есть ли причина, по которой вы используете react-scripts-ts/ts-jestвместо обычного готового приложения Create React? Уже некоторое время он изначально поддерживает TypeScript. Я бы посоветовал сделать это, поскольку борьба с дефолтами CRA, как правило, является болевой точкой.

Другие вопросы по тегам