我尝试为我的项目设置伊斯坦布尔/ Nyc /Mocha用于测试覆盖率,尽管我能够成功地运行Nyc,但我只能看到一些文件被选取用于测试覆盖率,而不是我拥有的所有.ts文件。
所以当我运行
npm run coverage
我得到了
-----------------------|---------|----------|---------|---------|-------------------
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s
-----------------------|---------|----------|---------|---------|-------------------
All files | 0 | 100 | 100 | 0 |
develop-potta | 0 | 100 | 100 | 0 |
swagger.ts | 0 | 100 | 100 | 0 | 1
develop-potta/models | 0 | 100 | 100 | 0 |
students.ts | 0 | 100 | 100 | 0 | 1
swaggerDefinition.ts | 0 | 100 | 100 | 0 | 1
develop-potta/routes | 0 | 100 | 100 | 0 |
routescontroller.ts | 0 | 100 | 100 | 0 | 4-5
这只覆盖了我的代码库的大约50%。例如,我有一个develop-potta/DBConnection/OracleConnection.ts,它也是一个ts文件,但我的脚本不会提取它。我不知道为什么?这可能是某种命名约定吗?会不会是我没有导出这些模块?
发布于 2020-11-14 07:12:48
Typescript + mocha + nyc可以很挑剔。尤其是all: true设置会把覆盖范围搞得一团糟。但正如你所说的,很难把它涵盖所有的文件。我的模板存储库涵盖了这些情况。也许它能帮到你。
https://github.com/Flowkap/typescript-node-template
如果您只对覆盖率感兴趣,请检查.ncyrc.yml和mocharc.yml以及package.json中的调用配置。还包括VsCode启动配置。
https://stackoverflow.com/questions/61506863
复制相似问题