Jest Testing Coverage - Ошибки, когда файлы не имеют тестов - PullRequest
1 голос
/ 20 апреля 2019

У меня есть Jest-тесты в моем проекте React, и у меня пока нет покрытия для всех файлов. Тем не менее, я получаю эти ошибки:

Failed to collect coverage from  /home/user/Development/VideoManager/VideoManagerClient/src/components/AppContent/VideoListLayout/VideoListLayout.js
ERROR: Cannot read property 'coverageData' of null
STACK: TypeError: Cannot read property 'coverageData' of null

В упомянутом здесь файле еще не созданы модульные тесты. Я хочу, чтобы это просто отслеживалось как отсутствие покрытия и, таким образом, приводило к снижению всей статистики по охвату, а не к выдаче ошибки.

Кроме того, когда я запускаю отдельные тесты в моей IDE, мои журналы заполняются еще большим количеством этих ошибок, потому что другие тесты не запускаются.

Как я могу это исправить? Спасибо.

PS. Вот моя конфигурация Jest:

"jest": {
    "collectCoverage": true,
    "coverageReporters": [
      "html"
    ],
    "coverageThreshold": {
      "global": {
        "branches": 80,
        "functions": 80,
        "lines": 80,
        "statements": 80
      }
    },
    "collectCoverageFrom": [
      "src/**/*.{js,jsx,ts,tsx}",
      "!src/**/*.d.ts",
      "!src/serviceWorker.js"
    ],
    "resolver": "jest-pnp-resolver",
    "setupFiles": [
      "react-app-polyfill/jsdom"
    ],
    "setupFilesAfterEnv": [
      "<rootDir>/test/setupTests.js"
    ],
    "testMatch": [
      "<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
      "<rootDir>/src/**/?(*.)(spec|test).{js,jsx,ts,tsx}",
      "<rootDir>/test/**/*.{js,jsx,ts,tsx}"
    ],
    "testPathIgnorePatterns": [
      "<rootDir>/test/setupTests.js",
      "<rootDir>/test/mock/.*",
      "<rootDir>/test/exclude/.*"
    ],
    "testEnvironment": "jsdom",
    "testURL": "http://localhost",
    "transform": {
      "^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
      "^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
      "^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
    },
    "transformIgnorePatterns": [
      "[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$",
      "^.+\\.module\\.(css|sass|scss)$"
    ],
    "moduleNameMapper": {
      "^react-native$": "react-native-web",
      "^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy",
      "\\.(css|sass|scss)$": "identity-obj-proxy"
    },
    "moduleFileExtensions": [
      "web.js",
      "js",
      "web.ts",
      "ts",
      "web.tsx",
      "tsx",
      "json",
      "web.jsx",
      "jsx",
      "node"
    ]
  }

1 Ответ

0 голосов
/ 29 апреля 2019

У меня была точно такая же проблема при использовании jest version 24.1.0 и babel-jest version 23.6.0.

Исправлено путем обновления babel-jest версии до 24.0.0.

Надеюсь, это поможет.

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