SonarSource
FindBugs作为独立的GUI应用程序分发,也可以作为Eclipse,NetBeans,IntelliJ IDEA和Findbugs的插件从命令行或ant,eclipse,maven,netbeans和emacs中使用。
Apache Ant
200px-Apache-Ant-logo.svg <a <span =“”> href =“http://ant.apache.org/”> Apache Ant是一个Apache项目,它是开源软件,并在Apache软件许可证。 Apache Ant使用XML,是软件构建过程自动化的有用工具,并使用Java语言实现,需要Java平台并主要用于Java项目。管理软件质量必须是每个人的关注从开始的发展,但是开发团队的终ji责任。它也是一个库和一个命令行工具,Ant是具有许多内置任务的设计,允许开发人员编译,组装,测试和运行Java应用程序。
Java Ant外还可以用于构建非Java应用程序,如C或C ++应用程序,一般使用可用于可根据目标和任务进行描述的进程类型。
有大量现成的商业或开源“antlib”可供用户使用,它非常有用,因为它是灵活的,并没有限制Java编程约定或Java项目的目录布局。
Apache Ant适用于常用的Java IDE,如Eclipse,NetBeans和IntelliJ IDEA。
JProfiler的
logo_jprofiler01
JProfiler是由ej-technologies GmbH开发的商业许可Java分析工具,主要用于与Java EE和Java SE应用程序配合使用。
JProfiler是一个Java分析器,将CPU,内存和线程分析结合到一个应用程序中,对开发人员有用,因为它可用于分析性能瓶颈,内存泄漏,CPU负载和解决线程问题。
JProfiler是有用的,因为它支持本地分析(分析在安装了JProfiler软件的同一台机器上运行的应用程序)和远程分析(这是允许分析在远程机器上运行的Java应用程序的JProfiler软件未安装。)。
JProfiler可以在两种情况下对信息进行配置,并允许用户通过可视化表示立即查看活动和总字节,实例,线程,类和垃圾收集器活动的显示负载。
SonarSource设置
在引擎盖下,这个SonarQube实例依赖于如下所示的许多默认或定制配置设置。
(以上是示例应用程序的截图)
可以通过该界面访问和更改各个组件的配置设置。
更新中心
到目前为止看到的各种仪表板中的许多小部件可以从下面的页面启用或禁用。还可以对所有小部件进行更新和升级,包括SonarQube本身的更新和升级。
升级过程
查看[10]中的升级过程,另见[11],了解过程之前和之后应该做什么。
通常停止并重新启动SonarQube是在应用更新或升级到一个或多个组件或SonarQube本身之前和之后执行的常见步骤。
结论
在评估这些功能后,它清楚地表明,该产品具有优于其他解决方案的优势,即大量免费插件,基于插件的仪表板系统,除了作为开源项目,还有一个很好的开始用。话虽如此,可能有商业产品有更好的质量评估命题,但不一定有用,除非你是一个大型组织。
使用SonarQube作为创建短反馈循环的工具,并在评估建议的更改的原理后,对代码库进行改进。如果反馈不正确或是假阳性或假阴性 - 一个选项是调整相关组件背后的配置设置,以查看在当前情况下提出的问题是否适用 - 基本上是转动支票或不采取反馈字面上。您可以选择一个或多个文件,甚至是子项目本身,然后单击SonarLint分析,而不是打开单个文件。
SonarQube和JaCoCo的个人测试代码覆盖率
构建部分
这里不需要修改但是,您应该注意Maven Surefire的任何自定义配置,以确保它也适用于我们要创建的配置文件。在春季宠物诊suo的情况下,这是我们正在写的参考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>
<建立>
<! - 与常规测试执行目标相同的配置 - >
由JaCoCo prepare-agent - >配置的<! - 加argLine参数
<argLine> $ {argLine} -XX:-UseSplitVerifier </ argLine>
<! - 每个测试覆盖所需的新配置 - >
<性能>
<属性>
<名称>听者</名称>
<值> org.sonar.java.jacoco.JUnitListener </值>
</属性>
</建造>
<依赖性>
<的groupId> org.codehaus.sonar-plugins.java </的groupId>
<artifactId的>声纳-jacoco-听众</ artifactId的>
<版本> 2.3 </版本>
<范围>测试</范围>
</依赖性>
</依赖>
</简档>
版权所有©2024 天助网