SonarQube和JaCoCo的个人测试代码覆盖率
构建部分
这里不需要修改但是,您应该注意Maven Surefire的任何自定义配置,以确保它也适用于我们要创建的配置文件。在春季宠物诊suo的情况下,中国sonarqube规则,这是我们正在写的参考POM的相关部分:
<建立> <插件>
...
<插件>
<的groupId> org.apache.maven.plugins </的groupId>
<artifactId的>行家-万无一失-插件</ artifactId的>
<版本> 2.13 </版本>
<结构>
<argLine> -XX:-UseSplitVerifier </ argLine>
<包含>
<包括> ** / * Test.java </包括>
<包括> ** / * Tests.java </包括>
</包括>
<排除>
<排除> ** /它/ * IT.java </排除>
</排除>
</配置>
</插件>
...
</插件> </建造>
这种配置告诉Surefire:1)排除执行单元测试的集成测试(Surefire的双插件,Failsafe涵盖了集成测试);和2)禁用字节码验证器,防止类被调试时的运行时错误(即添加mocks或TopLink增强功能时)。
依赖部分
在本节中,不需要进行任何更改。我们只想注意到,如果您的项目已经在利用JaCoCo收集整合测试覆盖率指标,并且明确地指出了本部分中的JaCoCo伪像,那么可以将其留下 - 至今没有确定任何冲突。无论如何,它不应该在这里需要,所以从这个部分删除它可能更安全。
档案部分
所有必需的更改都在本节中。而且它们都非常干净,因为它们都只需要向POM添加一个新的配置文件。此配置文件将为Surefire配置一个特殊侦听器,以确保适当收集每个单独测试用例的覆盖度量。为了保证成功的测试执行,我们将在此保持与POM的构建部分中显示的相同配置。后,配置文件将为包含侦听器代码的伪zao添加新的依赖关系。结果是这样的:
<轮廓>
<! - 使用SonarQube和JaCoCo计算每个测试的覆盖率指标
<ID>覆盖每次测试</ ID>
<建立>
<插件>
<插件>
<的groupId> org.apache.maven.plugins </的groupId>
<artifactId的>行家-万无一失-插件</ artifactId的>
<版本> 2.13 </版本>
<结构>
<! - 与常规测试执行目标相同的配置 - >
由JaCoCo prepare-agent - >配置的<! - 加argLine参数
<argLine> $ {argLine} -XX:-UseSplitVerifier </ argLine>
<包含>
<包括> ** / * Test.java </包括>
<包括> ** / * Tests.java </包括>
</包括>
<排除>
<排除> ** /它/ * IT.java </排除>
</排除>
<! - 每个测试覆盖所需的新配置 - >
<性能>
<属性>
<名称>听者</名称>
<值> org.sonar.java.jacoco.JUnitListener </值>
</属性>
</属性>
</配置>
</插件>
</插件>
</建造>
<依赖性>
<依赖性>
<的groupId> org.codehaus.sonar-plugins.java </的groupId>
<artifactId的>声纳-jacoco-听众</ artifactId的>
<版本> 2.3 </版本>
<范围>测试</范围>
</依赖性>
</依赖>
</简档>





将SonarQube指标集成到TFS构建中 - 简介
2014年7月31日/ ANDYBDEV
我一直在努力将SonarQube整合到我们每周运行的TFS中。如果你不知道SonarQube是否检查出来。它是一个很好的方法来集中有关您的代码的信息,这有助于捕获和跟踪关注KPI的人的指标(如果我们必须让他们至少对他们的代码质量有积极的作用),同时给那些“它是一个中心的地方,可以看到他们可以改进的代码质量等问题。
以前,我们从TFS开发了一个单独的Jenkins构建阅读源,但是我们希望摆脱这个额外的构建,并且只需在TFS中执行一次 - 似乎有点浪费和耗时地整理Jenkins以及TFS。事实证明,我已经有了很好的时机(在写作的时候),近才有声纳可以处理微软测试结果和覆盖文件的上传(分别为.trx和.coverage) - http://docs.codehaus .ORG /显示/ SONAR / C%23 +插件。
方法 - 使用标准的TFS Build工具包
不幸的是,将SonarQube集成到TFS构建中并不是直接的过程。那里已经有可以为您进行扫描和上传方面的定制活动(http://www.vlaquest.com/2013/10/sonar-build-activity-for-tfs-updated/)。我不太喜欢自定义程序集,因为您需要创建一个项目来管理模板,并提供大量引用来删除所有的警告和错误,并且实际上允许您配置导入的活动,从那时起就成为一个需要从项目中编辑你的模板 - 我知道..它没有什么大不了的,但我宁愿把它作为一个简单的可编辑工作流程。然后,您需要将程序集提供给构建控制器,我希望避免需要这样做 - 加上我曾经遇到过这样的问题,以便与过去的托管Team Foundation Service一起工作,这在历史的上使我无法避免。
考虑到这些要点,我已经采取了一种方法,这意味着大多数工作可以使用标准活动在构建模板中完成,其余的工作可以在几个可以坐在源中的批处理文件中完成。
我会引导你完成这个过程。
SonarSource简介
我们建立了一个 "商品" 解决方案来管理代码质量。要做到这一点, 提供hao的产品是不够的。产品也必须与整个生态系统在开发过程中发挥良好的作用, 否则它们将根本不会被使用 (至少在我们所期望的规模上)。正是基于这一点,sonarqube规则, 我们建立了 SonarQube 和 SonarLint。与生成系统
SonarQube 与标准构建系统紧密集成, 提供零配置方法。通过与liu行的构建系统 (如 Maven、MSBuild、Gradle 和 ANT) 集成, 我们提供了一种快速的扫描项目的方法, 很少或根本没有配置。但这并不是唯yi的好处: 这种集成也意味着这种分析 "配置" 将始终是xin的, 因为它是用来构建项目的, 因此在长期运行过程中保持平稳。生成系统ci 引擎与CI 引擎
SonarQube 集成了liu行的连续集成引擎, 如詹金斯和 TFS。SonarQube 与构建系统的集成加上简单的命令分析线机制, 意味着 SonarQube 已经很容易地与 CI 引擎集成。但是, 我们已经更进一步地提供了额外的集成与 CI 引擎, 如詹金斯和 TFS 通过启用一键式体验集成 SonarQube 扫描到构建。与ide
开发人员在他们喜欢的 IDE 中获得代码质量的反馈。SonarLint 为开发人员提供了在 IDE 中直接对代码质量的 real-time 反馈,中国sonarqube规则, 突出显示了开发人员类型的问题, 以便将重点放在代码上。ide公司系统与企业系统
作为企业产品, SonarQube 可以很容易地与现有系统集成, 例如授权和身份验证。SonarQube 带有内置功能,中国sonarqube规则, 可与的安全系统 (如 Active Directory、LDAP、Oauth 等) 集成。身份验证以及授权可以委派给这些系统。它还可以集成到大多数其他系统, 这得益于它强大的 API。与连续部署
SonarQube 提供了一个简单的工具, 以集成到管道。SonarQube 提供了在连续交付过程的任何步骤中, 将代码质量验证 (称为质量门) 挂钩的能力。这使您能够在代码是否已通过您的预定义的代码质量标准集的基础上进行升级, 从而自动化了升级审批过程。











中国sonarqube规则-苏州华克斯信息由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司拥有很好的服务与产品,不断地受到新老用户及业内人士的肯定和信任。我们公司是商盟认证会员,点击页面的商盟客服图标,可以直接与我们客服人员对话,愿我们今后的合作愉快!