2

我想istanbul将从客户端获取的 JSON 格式的覆盖率报告文件转换为 html 格式。目前我正在remap-istanbul为此使用,但实际上该特定工具旨在重新映射最初用不同语言(如打字稿)编写的代码的覆盖率数据。

所以我想是否有更方便的方法来做同样的事情

4

2 回答 2

5

用于istanbul report html将现有的覆盖率数据从 JSON 转换为 HTML:

istanbul report html

默认情况下,上面会在当前目录(及其子目录)中查找以“coverage”开头并以“.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 模式的更多文档,请参阅NPM 包中的文档glob

于 2018-01-29T12:50:13.087 回答
0

我猜由于伊斯坦布尔已经决定转向单仓库,如果您使用单仓库伊斯坦布尔,您将无法执行上述方法。

您可以按照此处所述执行操作:链接。您可以生成覆盖图,然后将其传递以生成所需格式的报告。

于 2020-04-10T20:15:23.570 回答