InfoQ

新闻

PartCover:新的开源代码覆盖工具

作者 Jay Flowers译者 张逸 发布于 2008年2月29日 下午7时31分

社区
.NET
主题
工件和工具
标签
测试,
质量,
代码覆盖率

去年九月,NCover的创始人Peter Waldschmidt将NCover发展为一个商业产品。NCover原本是一个免费工具,并逐渐得到普及,尤其是在开源项目中。Peter的公司Gnoso通过为开源项目提供免费的许可,继续对开源社区提供支持。这对于某些开源项目而言还远远不够。因此,PartCover得到了越来越多的关注。

与NCover非常相似,PartCover是针对.NET的一个开源代码覆盖工具。它包括了一个控制台应用程序,GUI覆盖浏览器,以及用在CC.NET中的xsl转换。

作为.NET的一个开源IDE,SharpDevelop在3.0版本的Beta 1版本中转为使用了PartCover。

之前,插件使用了NCover来计算代码覆盖率(这是通过编写单元测试可以获得的度量值)。然而,最近NCover已经转变为一个商业产品。由于我们只能包含/支持那些给所有人(用于商业开发或者开源以及出于爱好的开发)免费使用的工具,因此我们转为使用另一个工具——PartCover

TreeSurgeon的项目带头人Bil Simers,通过社区搜寻NCover的替代品。

在很长的一段时间内,我都在使用NCover用于代码覆盖计算。它是免费的,能够获得精准的结果,以及它提供了对NCoverExplorer和CI的集成,使得它成为了一个优秀的工具。易于使用,易于安装,抵消了新工具的特有麻烦(安装,学习,配置等)。

自从NCover商业化后,旧版本不能很好地运行3.0/3.5的代码。我之所以在TreeSurgeon中放弃对NCover的支持,正是因为此。TS从来都是免费的,任何人都可以获得并运行它,而无需为生成代码所依赖的产品购买或获取许可。我看中了Clover.NET作为替代品(在上次我还看见它是免费的?),但即使是它的“学术”版也需要$600。

那么,如今还有什么针对.NET项目的覆盖工具?这些工具是唯一的选择吗?是否所有用于计算.NET 3.0项目代码覆盖率的开源/免费工具都已成为了明日黄花?在这个寒冷的早晨(今早,在我驱车行驶时,温度降到了零下38度,即华氏-36度),我使用Google快速搜索,却得不到任何结果。

InfoQ:你会像SharpDevelop 3.0那样转为使用PartCover吗?

Bil Simers:是的,在Tree Surgeon的下一次发布中,我们会放弃对NCover 1.5.8的支持。如果你构建的是2.0版本的tree,你可以选择使用NCover或者PartCover。如果你构建的是3.x版本的项目,你只能使用PartCover。

InfoQ:你使用过PartCover吗?你对此有何看法?

Bil Simers:我认为它还不能完全与NCover相匹敌,它没有PartCover.Explorer(迄今为止),因此,我希望NCover的某些扩展内容能够很快地移植到PartCover中。这个工具很容易上手,但缺乏文档的支持,这意味着我将花去大半个下午的时间去尝试各种不同的命令行选项以获得正确的结果。最后,我认为PartCover对于.NET项目和代码覆盖而言,是一个不错的工具,但它还很稚嫩,需要不断发展。

InfoQ:PartCover的覆盖浏览器(Coverage Browser)与NCover Explorer相类似吗?

Bil Simers:是的,但它更加简单。它实现了这一功能,但需要对UI和特性进行某些改善。

随着TreeSurgeon和SharpDevelop对PartCover的关注,在NCover转变为商业产品的时候,PartCover有机会填补NCover留下的空白。

查看英文原文:PartCover: New Open Source Code Coverage Tool

没有回复

回复

深度内容

Flex与JSON及XML的互操作

平台需要互操作性。在这篇文章中,作者仔细研究了Flex和JSON及XML的互操作性。文章也包含了使用E4X库来将XML映射到图表和表格组件的内容,还演示了如何使用as3core库来解码JSON消息。

用Qi4j进行面向组合编程

本文将简要介绍面向组合编程(COP,Composite Oriented Programming)的概念,展示它如何规避OOP存在的一些问题,并重新点燃使用可重用部件组装领域模型(Domain Model)的希望。

系统开发——新学科,新教育

一门新的计算机学科——“系统开发”,强调人性化、匠艺、设计、创意、创新和新事物的涌现,并建议用被称为“bottega”的工作室替代乏善可陈的教室。

图书聚焦:Visual Studio 2008 揭秘

Mike Snell和Lars Powers用他们最近由Sams出版的新书《Visual Studio 2008揭秘》,试图帮助大家提高开发人员的生产力。本文包括一个下载样章——第10章调试。

BPEL为何不是BPM的圣杯?

Pierre Vigneras在本文中讨论了作为标准之一的BPEL所存在的问题。Pierre先给我们大致介绍了一个简单的并行流程,接着讨论了从业者在试图以一个结构化模型为基础表达非结构化流程时遇到的一系列问题。

基于范型的多语言编程

你是否仔细思考过,为什么人们总在讨论“要正确的语言做恰当的事情”?在这篇文章中,Sadek Drobi向你解释了为什么应该在系统内部混合使用多种语言。

采访与书摘《Pro Web 2.0 Application Development with GWT》

Jeff Dwyer就关于他的新书(《Pro Web 2.0 Application Development with GWT》)、GWT1.5以及创建可搜索的Ajax应用谈了一些他的见解。

时刻准备着,迎接IT业的春天

我们需要设身处地地为客户及客户的业务本身着想,与客户同舟共济。更多创新的思路、产品和模式也同样将为IT业带来新的出路。IT业并不需要坐以待毙,在春天到来之后,市场将会更加繁荣!