为包目录外的文件启用 nyc/istanbul 代码覆盖

ari*_*ray 2 javascript mocha.js istanbul nyc

我有一个节点应用程序,其中包含单独的姐妹文件夹以及用于应用程序代码和测试的随附 package.json 文件。

Project
|
|-----Application
          |-----app.js
          |-----package.json
|-----Tests
        |
        |-------test.js
        |-------package.json  (nyc added here)
Run Code Online (Sandbox Code Playgroud)

nyc 作为依赖项(与 mocha 一起)包含在测试文件夹中。它无法显示应用程序文件夹中文件的覆盖范围。我尝试通过在 nyc 配置中包含“../Application/**/*.js”来显式包含应用程序文件,但这似乎不起作用。

有任何想法吗?

ari*_*ray 6

我发现你可以通过使用一个名为 cwd 的晦涩选项来做到这一点,如下所示:

  "nyc": {
    "all": true,
    "check-coverage": true,
    "per-file": true,
    "lines": 99,
    "statements": 99,
    "functions": 99,
    "branches": 99,
    **"cwd" : "../",**
    "exclude" : [
      "Tests/**/*.js"
    ]
  }
Run Code Online (Sandbox Code Playgroud)