Cobertura是一个基于jcoverage的免费Java工具,它能够显示哪一部分代码被你的测试所覆盖,并可生成HTML或XML报告.
cobertura 的大概基本工作思路:
1.对已经编译好的class 文件添加标记
2. 对添加好标记的代码进行单元测试
3. 输出覆盖率统计报告
在ant 中使用cobertura 的基本步骤:
1. 编译代码
2. 定义cobertura 的ant task
3. 用nstrument 命令为编译好的代码添加标记
4. 用junit 命令对添加好标记的代码进行单元测试
5. 用cobertura-report 命令输出报告
编译代码:
<target name="compile">
<ant antfile="build.xml" inheritAll="false" target="compile"/>
</target>
在 build.xml 文件中添加一个任务定义:
<path id="cobertura.classpath">
<fileset dir="${lib.dir}">
<include name="cobertura/*.jar"/>
</fileset>
<pathelement location="${cobertura.instrumented.classes.dir}"/>
</path>
<taskdef classpathref="cobertura.classpath" resource="tasks.properties"/>
添加一个instrument
任务,该任务将在已经编译好的类文件中添加标记。todir
属性指定将测量类放到什么地方。fileset
子元素指定测量哪些 .class文件:
<target name="instrument" depends="compile">
<cobertura-instrument todir="${cobertura.instrumented.classes.dir}">
<fileset dir="${build.src.dir}">
<include name="**/*.class"/>
<exclude name="**/web/**/*.class"/>
<exclude name="**/constant/*.class"/>
<exclude name="**/*Test.class"/>
</fileset>
</cobertura-instrument>
</target>
可以排除一些不需要检查的class文件。
运行测试:
<target name="cover-test" depends="instrument">
<mkdir dir="${cobertura.report.dir}"/>
<junit fork="true" failureproperty="unit.tests.failed" printsummary="true" showoutput="yes">
<classpath>
<!--
Note the classpath order: instrumented classes are before the
original (uninstrumented) classes. This is important.
-->
<path refid="cobertura.classpath"/>
<path refid="test.classpath"/>
</classpath>
<formatter type="xml"/>
<batchtest todir="${cobertura.report.dir}">
<fileset dir="${build.unittest.dir}">
<include name="**/*Test.class"/>
</fileset>
<fileset dir="${build.functionaltest.dir}">
<include name="**/*Test.class"/>
</fileset>
<fileset dir="${build.integrationtest.dir}">
<include name="**/*Test.class"/>
</fileset>
</batchtest>
</junit>
</target>
最后,生成测试测量报告:
<target name="coverage-report" depends="cover-test">
<cobertura-report format="html" destdir="${cobertura.report.dir}" srcdir="${src.dir}"/>
</target>
生成的报告形式大概如下:
- 描述: 测量效果图
- 大小: 574.5 KB
- 描述: 测量效果图
- 大小: 311.4 KB
分享到:
相关推荐
总的来说,使用 Cobertura 是一种有效的监控和改善代码测试覆盖率的方法,它有助于确保软件的质量和稳定性,减少潜在的缺陷。通过持续关注并优化测试覆盖率,开发者可以提升整体的代码质量,使得软件产品更加可靠。
Cobertura 是一种开源测试工具,它通过检测基本的代码,并观察在测试包运行时执行了哪些代码以及哪些代码没有执行,来测量测试覆盖率。除了找出未测试到的代码并发现 BUG 外,Cobertura 还可以通过标记无用的、执行...
总结来说,测试覆盖率工具是保证软件质量的重要工具,通过合理的使用和管理,可以帮助我们提高代码的健壮性和可靠性。理解不同类型的覆盖率,选择适合的工具,并将其融入到开发流程中,是提升软件质量的关键。
它能够帮助开发者测量和报告程序代码的测试覆盖率,即多少代码被单元测试执行过。这对于确保软件的质量和可靠性至关重要,因为未经过测试的代码可能会隐藏潜在的错误。 在描述中提到的"ant+junit+cobertura的build....
Cobertura通常通过Ant脚本来集成到项目中,以便在持续集成或开发过程中自动测量代码覆盖率。 关于“源码”标签,这表明Cobertura不仅是一个二进制工具,还提供了源代码,允许用户查看、修改和扩展其功能。这对于...
Cobertura不仅支持基本的覆盖率类型,还提供了一种称为“包装器覆盖率”的高级功能,用于测量测试代码对第三方库的覆盖情况。 使用代码覆盖率工具的目的是为了更好地实现测试驱动开发(TDD)和持续集成(CI),确保...
JSCover 是一个易于使用的 JavaScript 代码覆盖率测量工具。它是流行的 JSCoverage工具的增强版本,增加了一些功能,包括分支覆盖率、 LCOV和用于 CI 集成的Cobertura XML报告、用于自动化测试的钩子和HTML 本地存储...
Cobertura是一款开源的Java代码覆盖率工具,它用于测量Java程序单元测试的覆盖率。这个"cobertura-1.9.4.1-src.zip"压缩包包含的是Cobertura 1.9.4.1版本的源代码。源代码是任何软件开发的基础,它允许开发者深入...
Cobertura 是一个用于 Java 代码覆盖率测试的工具,它能够帮助开发者测量和跟踪他们的源代码有多少被单元测试覆盖。 在描述 "cobertura-1.9.4.1-bin.zip" 中,没有额外的具体信息,但我们可以推断这可能是一个 ZIP ...
如JaCoCo或Cobertura,这些工具可以测量代码被测试覆盖的程度,帮助识别未被测试的代码。 7. 异常处理和错误报告: 使用try-catch语句捕获异常是Java中常见的做法。日志记录工具如Log4j或SLF4J可以帮助记录和分析...
总结起来,`gradle-cobertura-plugin.zip`为开源项目带来了强大的代码覆盖率分析能力,它简化了Cobertura在Gradle项目中的集成,使开发者能够轻松地监控和提升代码测试覆盖率。通过对`ads-lib-1.34.0.zip`等组件的...
10. **测试覆盖率**:JUnit可以与其他工具(如JaCoCo或Cobertura)集成,来测量代码的测试覆盖率,帮助识别未被测试到的代码。 通过分析`JuintDemo2`这个文件,我们可以学习如何组织和执行测试,理解测试的结构和...
Cobertura插件使开发者能在Gradle构建流程中轻松集成代码覆盖率检查,自动运行并报告测试覆盖率。 6. **开源软件**:开源项目意味着源代码对公众开放,鼓励社区参与和贡献。这有助于项目的持续改进,并促进技术知识...
JSCover 是一个易于使用的 JavaScript 代码覆盖率测量工具。 它是流行的工具的增强版本,增加了多项功能,包括用于 CI 集成的分支覆盖率、 LCOV和Cobertura XML报告、用于自动化测试的钩子和HTML 本地存储,以在不...
9. **代码覆盖率(Cobertura)**:Cobertura是用于测量Java代码覆盖率的工具,可能这部分会讲解如何集成Cobertura,分析测试覆盖的代码比例,以及提高测试覆盖率的重要性。 【标签】"源码"和"工具"表明这个PPT可能...
7. **代码覆盖率工具**: 如JaCoCo或Cobertura,用于测量测试覆盖了多少源代码。这些工具可以帮助我们评估测试的充分性,并确定哪些部分的代码还需要更多的测试。 8. **异常处理和日志记录**: 在测试中,正确地处理...