Командная строка способ генерации покрытия HTMLReport в Jest - PullRequest
0 голосов
/ 30 августа 2018

В Jest, есть ли способ из командной строки создать отчет о покрытии HTML, если он не определен в файлах jest.config.js?

Я хочу генерировать HTML-отчет только иногда, а не каждый раз, когда запускаю Jest. Единственный способ создать отчет в формате HTML - это вручную изменить конфигурацию.

Ответы [ 3 ]

0 голосов
/ 25 октября 2018

Вот часть из моих тестовых скриптов в package.json, которая может помочь вам создать отчеты о покрытии:

"test": "react-scripts test --env=jsdom",
"test:coverage": "react-scripts test --coverage"

Моя установка использует jest@23.6.0 с ферментом @ 3.8.0 и jest-enzyme@7.0.1

0 голосов
/ 25 октября 2018

По умолчанию для опции collectCoverage для jest установлено значение false. Самый простой способ получить отчет о покрытии HTML - настроить jest в package.json или jest.config.js. Вам также нужно будет указать в файле configDirectory.

Существует несколько различных параметров конфигурации для отчетов о покрытии. Смотрите здесь для всех настроек конфигурации: https://jestjs.io/docs/en/configuration.html#collectcoverage-boolean

Вот пример того, как настроить jest в package.json с несколькими опциями.

{
  "name": "appname",
  "version": "1.0.0",
  "description": "description",
  "main": "index.js",
  "scripts": {
    "test": "jest",
    "postinstall": "jspm install"
  },
  "jest": {
    "scriptPreprocessor": "./preprocessor.js",
    "testPathIgnorePatterns": [
      "/node_modules/",
    ],
    "unmockedModulePathPatterns": [
      "./node_modules/react"
    ],
    "collectCoverage": true,
    "coverageDirectory": "path/to/coverage/reports",
  },
  "author": "author",
  "license": "ISC",
  "dependencies": {
    "del": "^1.1.1",
    "gulp": "^3.8.11",
    "gulp-filter": "^2.0.2",
    "gulp-load-plugins": "^0.10.0",
    "gulp-react": "^3.0.1",
    "gulp-shell": "^0.4.1",
    "harmonize": "^1.4.1",
    "jest-cli": "^0.4.1",
    "jspm": "^0.15.5",
    "react": "^0.13.2",
    "react-tools": "^0.13.2",
    "run-sequence": "^1.1.0"
  },
  "devDependencies": {
    "browser-sync": "^2.7.1",
    "gulp": "^3.8.11"
  },
  "jspm": {
    "directories": {},
    "dependencies": {
      "react": "npm:react@^0.13.2"
    },
    "devDependencies": {
      "babel": "npm:babel-core@^5.1.13",
      "babel-runtime": "npm:babel-runtime@^5.1.13",
      "core-js": "npm:core-js@^0.9.4"
    }
  }
}

Теперь при запуске теста с помощью jest --coverage отчеты HTML будут создаваться в указанном каталоге.

0 голосов
/ 30 августа 2018

Вы пытались передать конфигурацию JSON через командную строку?

npx jest ./src/**/*.js --coverage --config='{ "coverageReporters": ["html"] }'

...