Отладка Jest в реагировать, когда псевдоним модуля определены - PullRequest
0 голосов
/ 04 июля 2019

У меня есть приложение реагирования, которое создается CRA и использует машинопись.Я определяю несколько модулей отображения в tsconfig.json

tsconfig.path.json

{
  "compilerOptions": {
    "baseUrl": "./src",
    "paths": {
      "@constants/*": ["constants/*"],
      "@components/*": ["components/*"],
      "@grid/*": ["components/Grid/*"],
      "@grid-share/*": ["components/Grid/Share/*"],
      "@utils/*": ["util/*"],
      "@services/*": ["Services/*"]
    }
  },
  "extends": "../tsconfig.json"
}

, затем я определяю тот же псевдоним в package.json для JEST

 "jest": {
    "snapshotSerializers": [
      "enzyme-to-json/serializer"
    ],
    "moduleNameMapper": {
      "@constants/(.*)": "<rootDir>/src/constants/$1",
      "@utils/(.*)": "<rootDir>/src/util/$1",
      "@grid-share/(.*)": "<rootDir>/src/components/Grid/Share/$1",
      "@grid/(.*)": "<rootDir>/src/components/Grid/$1",
      "@services/(.*)": "<rootDir>/src/Services/$1",
      "@components/(.*)": "<rootDir>/src/components/$1"
    }
  },

, когдаЯ использую yarn test все в порядке.Тем не менее, я хочу отладить тест по сравнению с кодом, мой файл конфигурации VSCode Luncher выглядит следующим образом:

{
  "version": "0.2.0",
  "configurations": [{
    "name": "Debug All Tests",
    "type": "node",
    "request": "launch",
    "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/react-scripts",
    "args": [
      "test",
      "--runInBand",
      "--no-cache",
      "--watchAll=false"
    ],
    "cwd": "${workspaceRoot}",
    "protocol": "inspector",
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen"
  }, {
    "name": "Debug Current Test",
    "type": "node",
    "request": "launch",
    "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/react-scripts",
    "args": [
      "test",
      "--runInBand",
      "--no-cache",
      "${fileBasenameNoExtension}",
      "--watchAll=true"
    ],
    "cwd": "${workspaceRoot}",
    "protocol": "inspector",
    "console": "integratedTerminal",
    "internalConsoleOptions": "neverOpen"
  }]
}

проблема заключается в том, что при попытке отладить тестовый случай в VSCode у меня появляется следующая ошибка

«Из коробки» приложение «Создать React» поддерживает только переопределение следующих опций Jest:

• collectCoverageFrom • охватReporters • охватThreshold
• extraGlobals • globalSetup • globalTeardown • resetMocks • resetModules • snapshotSerializers •watchPathIgnorePatterns.

Эти параметры в конфигурации package.json Jest в настоящее время не поддерживаются приложением Create React:

• moduleNameMapper

Если вы хотите переопределить другие параметры Jest, вынужно извлечь из настроек по умолчанию.Вы можете сделать это, запустив команду npm run eject, но помните, что это односторонняя операция.Вы также можете подать проблему в App React App, чтобы обсудить поддержку дополнительных параметров из коробки.

, есть ли способ решить эту проблему без ejecting ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...