2

我基本上从 Karma 开始node wrapper.js。该包装器设置包括调用karma-coverage、启动 Karma的配置require('karma').runner.runkarma-coverage呼唤伊斯坦布尔。(呸!)

我想用一个.istanbul.yml文件配置伊斯坦布尔,主要是因为我想更改“报告水印”。这是我的文件的样子。

reporting:
  watermarks:
    statements: [90, 97]
    lines: [90, 97]
    functions: [90, 97]
    branches: [90, 97]

从我所见,这看起来是正确的。但是..它不起作用。我认为问题是伊斯坦布尔不知道当前的工作目录,或者需要通过karma-coverage.

如果它有帮助,我的业力config.basePath很简单''

我试图找到对这个特定问题的讨论。可悲的是,这个问题与我的问题最接近,但它是关于“如何命名文件”的常见问题解答条目。这是Grunt 中讨论此问题的问题/答案,但我无法提取任何有用的东西。

我还浏览了 github 上的 karma-runner 问题,包括开放的和封闭的。查看 karma-runner 的来源并将其与伊斯坦布尔的这个问题结合起来,我认为这是不可能的,因为这条线。我对么?

4

1 回答 1

0

使用以下过程:

  • 转到模块istanbul内的目录karma-coverage

    cd node_modules/karma-coverage/node_modules/istanbul
    
  • 进入lib目录:

    cd lib
    
  • 在那里添加.istanbul.yml文件

目录中的config.js脚本通过以下行lib找到文件的路径:.istanbul.yml

 path.resolve('.istanbul.yml')

而已。

path.resolve方法的工作原理如下:

如果使用 all from paths 后仍然没有找到绝对路径,则也使用当前工作目录。生成的路径被规范化,并且尾部斜杠被删除,除非路径被解析为根目录。

参考

于 2015-05-01T00:42:34.520 回答