Sonarqube SonarCloud要求代码覆盖伊斯坦布尔忽略的文件

Sonarqube SonarCloud要求代码覆盖伊斯坦布尔忽略的文件,sonarqube,istanbul,sonarcloud,Sonarqube,Istanbul,Sonarcloud,我有一个JavaScript应用程序,我们使用伊斯坦布尔生成代码覆盖率报告,并使用SonarCloud进行静态分析 有两种方法可以将代码排除在外。第一个是设置排除路径。在jest.config.js中,我们要排除模式: "coveragePathIgnorePatterns": [ "source/legacy" ] 第二种方法是在源文件中使用伊斯坦布尔忽略注释,如/*伊斯坦布尔忽略文件*/。无论哪种情况,被忽略的文件都不会成为生成的报告文件的一部分

我有一个JavaScript应用程序,我们使用伊斯坦布尔生成代码覆盖率报告,并使用SonarCloud进行静态分析

有两种方法可以将代码排除在外。第一个是设置排除路径。在
jest.config.js
中,我们要排除模式:

"coveragePathIgnorePatterns": [
  "source/legacy"
]
第二种方法是在源文件中使用伊斯坦布尔忽略注释,如
/*伊斯坦布尔忽略文件*/
。无论哪种情况,被忽略的文件都不会成为生成的报告文件的一部分

在Sonar配置中,我们将其设置为使用生成的
lcov.info
报告文件和
Sonar.javascript.lcov.reportpath
属性。但是,我们还需要设置
sonar.coverage.excludes
以排除
源代码/遗留文件等模式,因为它没有将
lcov.info
报告视为真相的来源。这是可以接受的,但重复了配置,这是不幸的。真正的问题是,我找不到任何方法让Sonar处理被
/*istanbul ignore file*/
排除的文件

是否有某种方法可以让Sonar将
lcov.info
文件视为其真实性的来源,从而将文件中未包含的任何文件排除在覆盖范围之外


或者,伊斯坦布尔有没有办法让我列出被忽略的文件,但说它们被忽略了?也许这样Sonar会发现它们被忽略。

对于那些寻找解决方案的人,不幸的是,您需要告诉sonarqube明确忽略此文件。这不是一个理想的解决方案,但我最终得到了什么

文件:


我把我的文件名放在
sonar.coverage.exclusions

中,我的组织最终制定了一项政策,不使用“忽略文件注释”,而是忽略文件上的每个函数。也不理想