我已经创建了 Maven 项目并创建了 surefire-report 以及 jacoco 报告。 jacoco.exec 也会生成,如果我将我的项目上传到带有编译类的服务器上,那么我可以看到我的代码覆盖率,但作为最佳实践,如果我省略类文件,我将看不到代码覆盖率。有人可以帮帮我吗? 可以引用以下屏幕截图,这将帮助您轻松理解我的问题。 如果我在服务器上上传我编译的类文件,那么它工作正常,如下所示, enter image description here
但我不想上传我的编译类文件,因为这不是最佳做法,因此我得到了这个结果, enter image description here
最佳答案
SonarQube 和 JaCoCo 仅在分析时需要类文件,但之后不会将它们存储在任何地方。虽然没有类文件 SonarQube 可以产生一些结果(部分甚至错误),但 JaCoCo 绝对不能并且需要类文件。
还应注意,两者(UI 中的 SonarQube 和不带 SonarQube 的 native 报告中的 JaCoCo)都显示了源代码。因此奇怪的是,您可以上传源代码,但不想上传类,但这是另一个故事,因为无论如何它们在分析后不会上传/使用。
关于java - Sonar 代码覆盖率不会反射(reflect)在没有类文件的服务器上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45800201/