您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > junit
使用clover为junit单元测试做覆盖率分析
作者:网络转载 发布时间:[ 2013/10/15 10:40:03 ] 推荐标签:

    二、编写ant文件自动运行java单元测试

    三、修改build.xml文件添加clover任务

    现在我们开始修改build.xml文件,添加clover任务,以实现junit测试覆盖率的分析。首先,我们添加clover任务的配置任务;在build.xml文件里添加如下代码:

    这两行定义了能够在ant文件里使用clover任务的配置工作。然后再添加一个clover任务,用来启动clover构建任务:

    这里的initString定义了clover覆盖数据库的信息,它会在执行clover任务时自动创建,里边保存了源路径执行测试任务时候的全部信息,clover通过这个demo_coverage.db来创建覆盖率分析报告。如果这个demo_coverage.db存在,clover在每次运行时自动覆盖,如果不存在,clover自动创建它。

   我们这里使用clover,是为了搜集junit测试时候的覆盖率信息,所以呢,junit测试过程中,我们需要使用clover.jar包,所以我们还需要把clover.jar文件作为junit运行的依赖库,因此修改build.classpath代码成如下所示:

    这里顺便我们也把path的值说明一下,省得有人不懂哦!这里的ant.home是在计算机里创建的环境变量ANT_HOME,它的值应该是你的ant的安装路径,例如c:ant,所以前两行代码的意思,是把c:antlibclover.jar和c:antlibjunit.jar作为依赖库。当然,事先你一定要拷贝这两个jar文件到你的lib目录。

    好了,我们现在开始重新使用clover任务来运行junit测试!

    C:cloversincky>ant clean

    Buildfile: build.xml

    clean:

    [delete] Deleting directory C:cloversinckybuild

    BUILD SUCCESSFUL

    Total time: 0 seconds

    C:cloversincky>ant clover compile

    Buildfile: build.xml

    clover:

    [clover-setup] Clover Version 1.3.8, built on May 18 2005

    [clover-setup] loaded from: C:cloverlibclover.jar

    [clover-setup] 30 day Evaluation License registered to sinckyzhang@163.com

    [clover-setup] You have 10 day(s) before your Evaluation License expires.

    [clover-setup] Clover is enabled with initstring 'C:cloversinckydemo_coverage.db'

    compile:

    [mkdir] Created dir: C:cloversinckybuild

    [javac] Compiling 4 source files to C:cloversinckybuild

    [clover] Clover Version 1.3.8, built on May 18 2005

    [clover] loaded from: C:cloverlibclover.jar

    [clover] 30 day Evaluation License registered to sinckyzhang@163.com

    [clover] You have 10 day(s) before your Evaluation License expires.

    [clover] No coverage database 'C:cloversinckydemo_coverage.db' fou

    nd. Creating a fresh one.

    [clover] Clover all over. Instrumented 4 files.

    BUILD SUCCESSFUL

    Total time: 2 seconds

    我们会发现在sincky目录下多了一个demo_coverage.db文件;之后我们再执行测试任务:

    C:cloversincky>ant test

    Buildfile: build.xml

    test:

    [java] ......................

    [java] Time: 0

    [java] OK (22 tests)

    BUILD SUCCESSFUL

    Total time: 0 seconds

    我们会看到又多了一个关于junit测试的.db文件!现在,我们已经使用clover统计完了覆盖率信息,之后创建clover报告,以直观方式来查看具体的覆盖率结果!这个任务需要在build.xml里创建任务。Clover的报告有多种方式:html、pdf、xml以及swingview的图形化报告,当然与eclipse等java的IDE集成,也会在IDE里创建报告;这里我们只演示html类型的报告!我们修改build.xml文件,添加如下任务:

    这里的元素指产生的报告类型是当前的测试报告,还有历史报告,我们在后边讲解!这个报告是html格式,创建后的报告放在一个叫做clover_html的文件夹里,报告标题叫做Clover demo。

上一页12345678下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd