诊断Java代码: 单元测试与自动化代码分析协同工作 - 编程入门网
;CLOVER_HOME>/lib/clover.jar"/>
<pathelement path="<CLOVER_HOME>/lib/velocity.jar"/>
</path>
<target name="clover.report">
<java classname="com.cortexeb.tools.clover.reporters.html.HtmlReporter">
<arg line="--outputdir /tmp/clover_html --showSrc --initstring
$\{clover.initstring\} --title ''My Project''"/>
<classpath refid="clover.classpath"/>
</java>
</target>
特性 clover.initstring 指定了一个文件,有关 Clover 覆盖范围的数据将写入这个文件中。目标 with.clover 用来在执行其它目标(如 compile 和 test )时打开 Clover。 clover.report 目标用来接收累积的覆盖范围数据并生成报告。 在上面的代码中,我们将生成 HTML 报告。我们也可以生成文本报告(对于提供给脚本以确定测试的覆盖范围是否可接受非常有用)和基于 Swing 的报告。 设置 clover.classpath 是必要的,以便报告生成器目标知道到哪里找到它所需要的所有类。但是,放在类路径中的第二个 JAR 文件( velocity.jar )只有在生成 HTML 报告时才是必需的。一旦完成了上述工作,就可以用以下命令生成 Clover 报告:
就是这么简单。请查阅流行的编码工具 JBoss 和 Ant 的在线 Clover 报告,以获取一些样本输出。 两种方法的结合 本文中讨论的工具突出了一些可以将程序分析和单元测试一起使用的方法,以提供比单独执行任何一种方法都更有效的不变量检测。这些技术只代表了所有可能技术的冰山一角。 将来,其它工具可能会提供更强有力的单元测试能力。例如,类型推断(type-inference)引擎和优化编译器可以从现有的单元测试推断线索、UML 生成工具可以从测试构造各种图表(不仅是类图)等等。对于合并这些方法以获得更佳的代码构建和故障诊断而言,还存在着巨大的空间可以进行创造性开发和实验。 请记住每种方法的属性及其长处: 单元测试能够演示程序在特定的运行期是如何运转的;还能说明执行的常用路径。 分析工具能够检查所有可能运行的程序的某些特定属性。 每种方法的长处都可以用来弥补另一种方法的潜在弱点。 下一次,我们将研究增强的单元测试的另一条路径,并了解一些最新的工具,它们可用于帮助您在 GUI 上开发单元测试。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |