1 build.xml 内容如下
<?xml version="1.0" ?>
<project name="DEERSHOP" default="dist" basedir=".">
<property name="tests.dir" value="test" />
<target name="prepare">
<mkdir dir="report/logs"/>
</target>
<target name="test" description="Run PHPUnit tests" depends="prepare">
<phpunit failureproperty="failure.unittest" >
<formatter type="xml" todir="report/logs" outfile="test.unit.report.xml"/>
<batchtest>
<fileset dir="${tests.dir}">
<include name="**/*Test.php"/>
<include name="*Test.php"/>
</fileset>
</batchtest>
</phpunit>
<phpunitreport infile="report/logs/test.unit.report.xml" format="frames" todir="report/test" styledir="/usr/share/php/data/phing/etc" />
<coverage-report outfile="report/coverage.xml">
<report todir="report/coverage" styledir="/usr/share/php/data/phing/etc"/>
</coverage-report>
</target>
</project>
安装完phing test 运行后台 可能会出错,提示找到xmlt
让php 支持xmlt,安装xmlt 命令如下
sudo apt-get install php5-xsl
2 buill.xml 内容介绍
<formatter type="xml" todir="report/logs" outfile="test.unit.report.xml"/>
测试完成将在"report/logs 目录 下生成test.unit.report.xml数据文件,
type:测试结果类型xml
todir:测试结果文件的所在目录 report/logs
outfile:测试结果文件名test.unit.report.xml
<phpunitreport infile="report/logs/test.unit.report.xml" format="frames" todir="report/test" styledir="/usr/share/php/data/phing/etc" />
生成报告样式文件
infile:测试结果数据文件地址 report/logs/test.unit.report.xml,也就是<formatter type="xml" todir="report/logs" outfile="test.unit.report.xml"/> 中的outfile 文件
format: 只有两中格式 frames 或NOFRAMES
todir: 生成的html文件保存目录,目录中将自动生成一些.html 文件,如图
styledir:生成上图的html,css样式 都是根据此指定目录的格式生成的,默认目录路径为 /usr/share/php/data/phing/etc 在此目录下有下面样式文件
要解析xsl 需要安装xsl
sudo apt-get install php5-xsl
代码覆盖率
<coverage-report outfile="report/coverage.xml">
<report todir="report/coverage" styledir="/usr/share/php/data/phing/etc"/>
</coverage-report>
outfile:代码覆盖率结果写入report/coverage.xml 文件中
todir:产生生成覆盖率 html 页面,css,js 都保存在此目录中
styledir:生成上图的html,css样式 都是根据此指定目录的格式生成的,默认目录路径为 /usr/share/php/data/phing/etc 在此目录下有下面样式文件
同上测试报告phpunitreport 图
用phing 生成的代码覆盖率.xml 与 直接phpunit 生成的代码覆盖率.xml 格式不一样,而且后面的hudson clover 插件 也解析不了phing 生成代码覆盖率xml
最后使用phing exec 执行phhunit 命令,bulid.xml 内容如下
<target name="test">
<exec dir="." executable="phpunit">
<arg line="--log-junit report/logs/phpunitreport.xml
--coverage-clover report/clover.xml
--coverage-html report/coverage/ test/"/>
</exec>
</target>
测试报告: --log-junit report/logs/phpunitreport.xml
代码覆盖率报告: --coverage-clover report/clover.xml
代码覆盖率html 报告 --coverage-html report/coverage/
测试源码目录 test/
3 在 jenkins 安装 xunit 插件,此插件可以查看phing 生产的测试结果文件,把文件以图表格式展示
下载xunit 插件 http://hudson-ci.org/download/plugins/xunit/
在jenkins 系统管理- 插件管理-高级 安装 插件 然后重启jenkins
项目配置xunit 如下图
Test report XMLS 填写 测试结果的的文件路径 report/logs/*.xml
安装clover 插件
下载http://hudson-ci.org/download/plugins/clover/ 在jenkins 系统管理- 插件管理-高级 安装 插件 然后重启jenkins
项目配置clover 如下图
Clover report directory:代码覆盖率目录,即report
Clover report file name:代码覆盖率文件,即clover.xml