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

    报告左边是包名,以及包下边的类;右边是主窗口,显示当前这个Money类的测试覆盖率,我们可以通过行号来查看到15、16、17行执行了156次,下边还会有两行一次也没有执行过,所以造成这个类整体的测试覆盖率不是100%。

    四、重构测试代码实现百分百测试覆盖率

    我们总是希望做单元测试的时候,让代码的测试覆盖率尽可能的达到100%,所以我们需要重构测试代码。从分析得知,第40行虽然执行了27次,但是从来没有测试if的判断条件为true的情况,所以我们要添加测试用例,测试isZero()返回为true的情况!因此,我们修改测试代码MoneyTest.java文件,在前边初始化地方加上一个Money实例,如下:

    public class MoneyTest extends TestCase {

    private Money f12CHF;

    private Money f14CHF;

    private Money f7USD;

    private Money f21USD;

    private Money f0USD;

    在setup方法里添加:

    protected void setUp() {

    f12CHF= new Money(12, "CHF");

    f14CHF= new Money(14, "CHF");

    f7USD= new Money( 7, "USD");

    f21USD= new Money(21, "USD");

    f0USD = new Money(0, "USD"); //sincky

    在后加上一个测试用例:

    public void testMoneyEqualsZero() {

    assertTrue(!f0USD.equals(null));

    IMoney equalMoney = new Money(0, "CHF");

    assertTrue(f0USD.equals(equalMoney));

    }

    之后,我们重新编译,测试,创建报告,即执行下列命令:

    >ant clean

    >ant clover compile

    >ant test

    >ant report

    这时候再打开新的html报告,看到如下效果覆盖率已经到达100%:

    完毕,如果能进展到这一步,相信你已经对使用junit、ant、clover做java的单元测试,已经到了一个新的飞越!如果有兴趣,你还可以把junit报告和clover报告一并输出,以更好的为企业开发中使用这种工作模式!

    文章源码均来自clover网站,本人稍做修改。

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