我想使用 nyc 来生成代码覆盖率。我正在将我的一些项目构建到 node_modules 中,以便在其他项目中使用它们。在编写测试时,我想测试 node_modules 中的文件,因此我想包含 node_modules 中的文件。
项目-示例-结构
1. foo (directory)
1.1 bar (directory)
1.1.1 node_modules (directory)
1.1.1.1 someFile.js // I want to include this!
1.1.2 foobar
1.1.2.1 foobar.js // this file works
1.1.3 .nycrc
.nycrc
{
"reporter": [
"html",
"text"
],
"all": true,
"cwd": "../",
"report-dir": "./bar/test-run/coverage",
"include": [
"./bar/**/foobar/*.js",
"./bar/**/node_modules/*.js",
]
}
在终端执行
nyc mocha
解释
nyc 使用 .nycrc。cwd:更改工作目录。我希望能够包含父目录的文件。可悲的是,包括似乎无法使用“../”。
在包含标志内,我指定应包含哪些文件:“./bar/foobar/foobar.js”不知何故不起作用。但是:“./bar/**/foobar/foobar.js”包括 foobar.js。
预期行为
应该包括 someFile.js。应该包括 foobar.js。
观察到的行为
不包括someFile.js 。包含foobar.js 。
环境
macOS 塞拉利昂
纽约 11.8.0