我正在分析一个经过单元测试和Cobertura覆盖的Java项目。报告了xml。我正在使用SonarQube 4.1.1和最新的SonarRunner。我已经成功地将Cobertura覆盖率结果导入到Sonar 3.2和Ant analyzer,但在这个新版本中,我遇到了问题。在新的声纳分析执行(通过Jenkins)中,我在日志中没有看到它会启动任何Cobertura引擎或任何东西。我在Runner Jenkins项目中的设置:
sonar.dynamicAnalysis=reuseReports
sonar.java.coveragePlugin=cobertura
sonar.cobertura.reportPath=[mypath]/coverage.xml
sonar.junit.reportsPath=[mypath]/
分析输出中没有提到Cobertura(除了我自己的属性值),SonarQube页面在覆盖报告中显示“-”。单元测试结果显示良好。
我还添加了所有的源代码、bin和测试目录。有什么想法吗?谢了。
更新我想知道为什么SonarQube页面上没有报告Cobertura覆盖率,是因为在Jenkins中我的SonarQube项目克隆了(克隆插件)以前项目构建的工作区?如果覆盖。xml文件包含静态路径,那么它可能会以某种方式出错。
对于sonar cube中的任何“重用报告”功能(可能是用于代码覆盖、测试执行或生成中间报告的任何其他第三方工具),报告必须基于与sonar cube分析所用文件相同的源文件(就文件系统位置而言)生成。否则SonarQube插件将无法将报告中的路径与分析过的源的路径相匹配。
所以您猜对了:克隆工作空间并在这个克隆上运行SonarQube分析是覆盖率无法计算的原因。
好的,解决方案很明显。SonarCube 4.1.1没有预装Cobertura,所以我安装了它,现在它可以工作了:)也许它预装在3.2版本,我不记得了。
我正在为我的grails 3.1.6项目添加cobertura代码覆盖率,覆盖率报告似乎有点少,即我有单元测试用例(pos和neg两种情况)来覆盖if块,但报告说没有覆盖if块。gradle:2.13 Groovy:2.4.5 Grails:3.1.6 cobertura gradle Plugin:net.saliman:gradle-cobertura-plugin:2.3.2 这是我的代码
我正在使用Cobertura maven插件[2.7版]来了解测试的代码覆盖率。我正在使用PowerMock[1.6.6]模拟依赖对象。但是当我运行mvn cobertura:cobertura并检查报告时,覆盖率保持不变。当我不使用嘲弄的时候,它很好用。这是兼容性问题吗?我多次尝试mvn clean,只是为了确保报告是新生成的。 这是我的pom.xml 对此我们非常感谢您的帮助。
我正在使用Sonarqube分析我的Nestjs项目。当我用jest运行单元测试时,它们都通过了,代码覆盖率约为80%。在Sonarqube上,它仍然显示为0%。 我的sonar-project.properties文件如下 我的jest.json如下 我package.json的相关部分 我的源代码和它们各自的单元测试在同一个位置。测试文件有扩展名。spec.ts 在本地运行测试时,所有测试都通
我有一个多模块项目,我似乎无法在Sonarqube上获得准确的单元测试代码覆盖率报告。我使用buildr和JaCoCo生成测试覆盖率。文件继承类似于下面。 项目--module1----reports----Jacoco------Jacoco.cov(jacoco执行文件,以前用作.exec)--module2--reports----Jacoco(生成的HTML、CSV和XML报表文件)---
问题内容: 我正在使用声纳来衡量代码质量。我不知道的一件事是使用Cobertura测量代码覆盖率的步骤。 我按照http://cobertura.sourceforge.net/anttaskreference.html中的步骤进行操作,并且能够生成xml文件。如何将这些xml文件放入SONAR? 有没有在SONAR中使用Cobertura的简便方法? 我在与SONAR服务器不同的服务器上运行代码
问题内容: 我正在使用Cobertura进行代码覆盖率分析。如果我在詹金斯(Jenkins)中运行构建,则覆盖范围结果中将包含其中的类,但覆盖率为 0% 。如果我在工作区(Eclipse)中运行代码覆盖率,则覆盖率会更高。包装的覆盖范围还可以。我错过了一些配置吗? 我的项目结构如下: 我的cobertura配置在POM文件中: 问题答案: 生成的代码不应进行测试,并且不应在代码覆盖率指标中使用。原