代码质量是一个敏感的话题。 它会影响您的维护成本以及客户满意度。 更不用说您的开发人员使用代码的动力。 谁想要修复难看的代码,对吗?
讨论代码质量总是需要事实和数字! 因此,这是一个简短的教程,介绍如何创建一些简单的报告来分析某些代码质量指标。
报告书
本节将简短说明使用的报告。
FindBugs在Java程序中查找错误。 它基于错误模式的概念。 错误模式是一种代码习语,通常是一个错误
Checkstyle是一种开发工具,可帮助程序员编写符合编码标准的Java代码。 它使检查Java代码的过程自动化,从而使人们不必执行这项无聊(但很重要)的任务。 这使其成为想要实施编码标准的项目的理想选择。
Cobertura是一个免费的Java工具,可计算测试访问的代码的百分比。 它可以用来识别Java程序的哪些部分缺少测试覆盖范围。 它基于jcoverage。
在构建生命周期的test
阶段使用Surefire插件来执行应用程序的单元测试。 它生成报告...
基本的pom.xml
从基本的pom配置开始:
<project>...<properties><findbugs.version>2.5.2</findbugs.version><checkstyle.version>2.9.1</checkstyle.version><surefire.reportplugin.version>2.12.4</surefire.reportplugin.version><cobertura.version>2.5.2</cobertura.version></properties><build><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>findbugs-maven-plugin</artifactId><version>${findbugs.version}</version></plugin><plugin><groupId>org.codehaus.mojo</groupId><artifactId>cobertura-maven-plugin</artifactId><version>${cobertura.version}</version><configuration><formats><format>xml</format></formats></configuration></plugin></plugins></build><reporting><plugins><plugin><groupId>org.codehaus.mojo</groupId><artifactId>findbugs-maven-plugin</artifactId><version>${findbugs.version}</version></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-checkstyle-plugin</artifactId><version>${checkstyle.version}</version></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-report-plugin</artifactId><version>${surefire.reportplugin.version}</version></plugin><plugin><groupId>org.codehaus.mojo</groupId><artifactId>cobertura-maven-plugin</artifactId><version>${cobertura.version}</version><configuration><formats><format>xml</format></formats></configuration></plugin></plugins></reporting>
</project>
Jenkins插件
您需要安装一些jenkins插件才能与您的报告很好地集成。
- 静态分析收集器插件
- 静态分析实用程序
- Checkstyle插件
- FindBugs插件
- Jenkins Cobertura插件
项目配置
现在,您需要配置项目以显示报告的结果。
Findbugs和Checkstyle
您可以在“构建配置”选项卡中对其进行配置。 需要设置一些限制,这些限制会影响表示。
科贝图拉
Cobertura在“构建后操作”中进行配置。 与findbugs和checkstyle插件中的配置相同。
结果
在项目的主页上,您具有一些新的图形和链接。
翻译自: https://www.javacodegeeks.com/2013/08/maven-reports-in-jenkins.html