Clover:解决Java8和Cobertura的问题以及解决方法

Clover:解决Java8和Cobertura的问题以及解决方法

最近在使用EvoSuite和Cobertura的时候,Cobertura报错最后的代码覆盖报告什么都没有。发现问题的第一反应就是Cobertura和Jacoco一样了吗?难道也是字节码注入的问题?但是我的其他的项目并没有出现问题,这样我又回到了原来的正确解决而问题的轨道上。

解决思路

有一个项目的小伙伴反馈我们一直在使用的智能测试框架EvoSuite哑火了,我也感到莫名其妙。为什么呢,因为我们已经在内部很多项目在使用这个框架了,为什么这个框架在这里不行了呢?我马上找到项目的master,要了项目的git权限。从自动生成单元测试导致执行测试全部尝试了一遍,发现问题并不是在执行evosuit的时候出现新,而是在执行测试覆盖插件的时候出现的,下面是出错信息。

INFO: Cobertura: Loaded information on 0 classes.
........
INFO: Cobertura: Saved information on 0 classes.

第一次遇见,我赶紧去google上查找了一下,发现Cobertura和Java8就是会有这个问题,网络上的方法全部尝试了一遍,比如升级这个插件的版本等根本解决不了问题。

最后的解决办法是换到了代码覆盖的工具,代替工具是Clover。

Clover

Clover是一款曾经收费的代码覆盖率查询插件,它可以配合JUnit等测试插件,对代码测试结果进行分析说明。就冲着曾经还收费这个事情应该还是很有优势的。

开源地址:https://bitbucket.org/atlassian/clover

在Mvn中引入如下配置:

<build>
    <plugins>
    <plugin>
        <groupId>com.atlassian.maven.plugins</groupId>
        <artifactId>clover-maven-plugin</artifactId>
        <version>4.1.2</version>
        <configuration>
        <excludes>
            <exclude>**/*_ESTest.java</exclude>
            <exclude>**/*_ESTest_scaffolding.java</exclude>
        </excludes>
        </configuration>
    </plugin>
    </plugins>
</build>

然后使用mvn clover:setup test clover:aggregate clover:clover就可以获得单元测试代码覆盖报告了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CrissChan

开心就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值