【问题标题】:Instanbul/Nyc only picking up some files伊斯坦布尔/纽约市只收集一些文件
【发布时间】:2020-08-13 20:10:09
【问题描述】:

我尝试为我的项目设置 Istanbul/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 文件,我的脚本没有提取该文件。我无法弄清楚为什么?会不会是某种命名约定?难道是我没有导出那些模块?

【问题讨论】:

    标签: node.js typescript mocha.js istanbul nyc


    【解决方案1】:

    Typescript + mocha + nyc 可能很挑剔。尤其是 all: true 设置会严重影响覆盖范围。但是正如您提到的,很难将其覆盖所有文件。我的模板回购涵盖了这些情况。也许它可以帮助你。

    https://github.com/Flowkap/typescript-node-template

    如果您只对覆盖感兴趣,请检查 .ncyrc.yml 和 mocharc.yml 以及 package.json 中的调用配置。还包括 VsCode 启动配置。

    【讨论】:

      猜你喜欢
      • 2017-06-26
      • 2020-01-24
      • 1970-01-01
      • 2017-08-03
      • 2016-04-05
      • 2016-11-16
      • 2018-06-01
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多