我的新浪微博:http://weibo.com/u/1602714773
CSDN博客:http://blog.csdn.net/hunterno4
Jenkins+PMD构建自动化静态代码检测
上一篇 /
下一篇 2013-07-11 23:03:48
/ 个人分类:持续集成
前言:软件缺陷是不可避免的,要尽量减少错误并提高软件质量,主要有两在类技术,即缺陷预防和缺陷检测
缺陷预防包括编写更好的设计规范、实施代码审核制度、运行代码静态分析工具、运行单元测试等
PMD是一种开源分析Java代码的工具,通过静态分析获知代码错误,该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等等
因此Jenkins+PMD构建自动化静态代码检测是很有必要的
PMD下载地址:http://sourceforge.net/projects/pmd/
下载后解压即可
PMD主要可以通过ant脚本来执行,编写ant的build文件,这里新建的为如buildPMD.xml
- <?xml version="1.0" encoding="UTF-8"?>
-
- <project name="pmd" default="pmd" basedir=".">
-
- <property environment="env">
- <property name="ExampleProject.location" value="../ExampleProject">
-
- <path id="pmd.classpath">
- <pathelement location="${basedir}/lib/asm-3.2.jar">
- <pathelement location="${basedir}/lib/jaxen-1.1.1.jar">
- <pathelement location="${basedir}/lib/junit-4.4.jar">
- <pathelement location="${basedir}/lib/pmd-5.0.4.jar">
-
- <!--
- <fileset dir="${basedir}/lib/">
- <include name="**/*.jar">
-
- -->
- </include></pathelement></pathelement></pathelement></pathelement></path>
- <target depends="pmd_html" name="pmd">
- <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath">
-
-
-
-
-
- <pmd rulesetfiles="${basedir}/pmdrule.xml" encoding="UTF-8">
-
- <formatter type="html" tofile="pmd_report.html" toconsole="true">
-
- <fileset dir="${ExampleProject.location}/src">
- <include name="**/*.java">
- </include></fileset>
- </formatter></pmd>
- </taskdef></target>
-
- <target name="pmd_html">
- <taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.classpath">
-
-
-
- <pmd rulesetfiles="${basedir}/pmdrule.xml" encoding="UTF-8">
-
- <formatter type="xml" tofile="pmd_report.html" toconsole="true">
- <fileset dir="${ExampleProject.location}/src">
- <include name="**/*.java">
- </include></fileset>
- </formatter></pmd>
- </taskdef></target>
-
- </project>
本文中定义了两个target,分别生成了XML和HTML格式的报告,因为在Jenkins中的分析插件需要用XML格式才能生成视图报告,而XML格式对于团队来说不直观,不宜发送邮件,因此生成两份报告,一份用于Jenkins分析,一份发送邮件用于团队成员直接查看
编写好buildPMD.xml,直接使用ant -f buildPMD.xml即可在CMD命令或Linux shell下执行PMD静态代码检测
在Jenkins中新建个任务,Build项Add build step中选择“Execute Shell”,输入ant -f buildPMD.xml即可
附:pmdrule.xml
相关阅读:
- android 自动化测试之MonkeyRunner学习(一) (xin_晴, 2013-6-28)
- android 自动化测试之MonkeyRunner学习(二) (xin_晴, 2013-7-02)
- 轻松自动化---selenium-webdriver(python) (一) (xin_晴, 2013-7-03)
- Python自动化测试 (一) Eclipse+Pydev 搭建开发环境 (zaza9084, 2013-7-03)
- Python自动化测试 (二) ConfigParser模块读写配置文件 (zaza9084, 2013-7-04)
- 菜鸟学自动化测试(一)----selenium IDE (zaza9084, 2013-7-03)
- 菜鸟学自动化测试(二)----selenium IDE 功能扩展 (zaza9084, 2013-7-04)
- 菜鸟学自动化测试(三)----selenium 命令 (zaza9084, 2013-7-05)
- 菜鸟学自动化测试(四)----selenium 命令之验证页面元素 (zaza9084, 2013-7-08)
- 让QTP走下神坛--SilkTest 卷土重来!自动化测试工具QTP和SilkTest横向PK (zaza9084, 2013-7-04)
收藏
举报
TAG:
缺陷预防
jenkins
pmd
静态代码检测
自动化测试