Как преобразовать существующий Стамбул JSON файл в HTML

Я хочу конвертировать istanbul файл отчета о покрытии, извлеченный из клиента в формате JSON в формате html. В настоящее время я использую remap-istanbul для этого, но на самом деле именно этот конкретный инструмент предназначен для переназначения данных покрытия для кода, который изначально был написан на разных языках (например, машинопись).

Поэтому я думаю, есть ли более удобный способ сделать то же самое

1 ответ

Использование istanbul report html преобразовать существующие данные покрытия из JSON в HTML:

istanbul report html

По умолчанию вышеприведенное просматривает в текущем каталоге (и его подкаталогах) любой файл, начинающийся с "охват" и заканчивающийся ".json", и выводит отчеты HTML в ./coverage/ каталог.

Чтобы преобразовать определенный файл в определенный каталог:

istanbul report --include path/to/my-coverage-file.json --dir my-coverage-dir html

Другой способ читать отчеты о покрытии только из определенного каталога (например, все файлы JSON в path/to) заключается в следующем, используя --root опция:

istanbul report --root path/to --include=*.json --dir my-coverage-dir html

использование istanbul help report чтобы увидеть больше опций (следующее генерируется с помощью istanbul 0.4.5):

Usage: istanbul report <options> [ <format> ... ]

Options are:

      --config <path-to-config>
              the configuration file to use, defaults to .istanbul.yml

      --root <input-directory>
              The input root directory for finding coverage files

      --dir <report-directory>
              The output directory where files will be written. This defaults
              to ./coverage/

      --include <glob>
              The glob pattern to select one or more coverage files, defaults
              to **/coverage*.json

      --verbose, -v
              verbose mode


<format> is one of 
      clover  XML coverage report that can be consumed by the clover tool
      cobertura
              XML coverage report that can be consumed by the cobertura tool
      html    Navigable HTML coverage report for every file and directory
      json    prints the coverage object as JSON to a file
      json-summary
              prints a summary coverage object as JSON to a file
      lcov    combined lcovonly and html report that generates an lcov.info
              file as well as HTML
      lcovonly
              lcov coverage report that can be consumed by the lcov tool
      none    Does nothing. Useful to override default behavior and suppress
              reporting entirely
      teamcity
              report with system messages that can be interpreted with TeamCity
      text    text report that prints a coverage line for every file, typically
              to console
      text-lcov
              lcov coverage report that can be consumed by the lcov tool
      text-summary
              text report that prints a coverage summary across all files,
              typically to console

 Default format is lcov unless otherwise specified in the config file. In
 addition you can tweak the file names for various reports using the config
 file. Type `istanbul help config` to see what can be tweaked.

Значение --input это шаблон шара Для получения дополнительной документации по шаблонам глобуса см. Документацию на glob пакет на НПМ.

Я предполагаю, что поскольку istanbul решил перейти к монорепо, вы не сможете использовать вышеупомянутый метод, если вы используете mono-repo istanbul.

Вы можете сделать что-то, как описано здесь: ссылка. Вы можете создать карту покрытия, а затем передать ее для создания отчета в желаемом формате.

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