写点什么

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

  • 2008-02-29
  • 本文字数:1321 字

    阅读完需:约 4 分钟

去年九月,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

2008-02-29 19:312616
用户头像

发布了 109 篇内容, 共 44.8 次阅读, 收获喜欢 14 次。

关注

评论

发布
暂无评论
发现更多内容

还在手动发早安,教你用java实现每日给女友微信发送早安

华为云开发者联盟

Java 开发 代码 华为云 12 月 PK 榜

YOLOv5全面解析教程②:如何制作训练效果更好的数据集

OneFlow

人工智能 深度学习 数据集

华为云CodeArts Req需求管理工具,7大特性限时免费体验

华为云开发者联盟

需求管理 开发 华为云 12 月 PK 榜

【FAQ】在华为鸿蒙车机上集成华为帐号的常见问题总结

HarmonyOS SDK

HMS Core

MMEval正式支持OneFlow评测

OneFlow

机器学习 深度学习 算法

【Java基础】Win10如何配置jdk环境变量(配置java环境变量)

No8g攻城狮

Java、 java 并发 Java IO

【web 开发基础】PHP 中的预定义数组详解之一 (47)

迷彩

数组 全局变量 PHP基础 预定义数组

什么是DevSecOps?理解DevOps安全性

DevOps

基于随机森林算法进行硬盘故障预测

华为云开发者联盟

人工智能 机器学习 华为云 12 月 PK 榜

ChatGPT进化的秘密

OneFlow

人工智能 机器学习 深度学习 GPT

Java中Map集合的三种遍历方式

@下一站

Java 程序设计 map 12月日更 12月月更

模块三-外包学生管理系统的架构文档

悟空

学生管理系统架构

跨平台应用开发进阶(四十)自定义插件及引用

No Silver Bullet

uni-app 跨平台应用 12月月更 自定义插件

为什么更推荐使用组合而非继承关系?

JAVA旭阳

Java 架构

Spring单例和静态方法

hasWhere

Android Studio开发Android APP

芯动大师

Android Studio 开发环境 新建工程

世界元素多元化发展,法国名酒贾斯特里尼&布鲁克斯受推崇

联营汇聚

超越10倍开发者

俞凡

研发效能

设计模式之美——对扩展开放、对修改关闭

GalaxyCreater

设计模式

设计模式之美——里式替换(LSP)

GalaxyCreater

设计模式

270年经典传承,贾斯特里尼&布鲁克斯——红酒中的高端代表

联营汇聚

贾斯特里尼&布鲁克斯葡萄酒,用品质征服世界

联营汇聚

架构误区系列9:强扭的「复用」

agnostic

Zebec Chain缘何能成为新晋应用链,熊市下又为何值得我们关注?

股市老人

2022-12-24:给定一个字符串s,其中都是英文小写字母, 如果s中的子串含有的每种字符都是偶数个, 那么这样的子串就是达标子串,子串要求是连续串。 返回s中达标子串的最大长度。 1 <= s的长

福大大架构师每日一题

Linux 算法 Shell 福大大

贾斯特里尼&布鲁克斯为何被称为葡萄酒典范?

联营汇聚

LED显示屏行业真的需要8K分辨率吗?

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

基于K-means聚类算法进行客户人群分析

华为云开发者联盟

人工智能 机器学习 华为云 12 月 PK 榜

极客时间运维训练营第九周作业

好吃不贵

HTTP通用首部字段

穿过生命散发芬芳

HTTP 12月月更

PartCover:新的开源代码覆盖工具_.NET_Jay Flowers_InfoQ精选文章