写点什么

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:312765
用户头像

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

关注

评论

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

【LeetCode】最短补全词Java题解

Albert

算法 LeetCode 12月日更

Linux运维,Linux系统学习

侠盗安全

Linux linux运维 运维工程师 云计算架构师

双 11 大促会场开发提效解析:前端智能化落地实践

凹凸实验室

机器学习 大前端 智能代码

进程崩溃/应用卡死,故障频频怎么办?|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

Java开发之环境搭建基础教程

@零度

Java 开发环境搭建

Android C++系列:Linux网络(三)协议格式

轻口味

c++ android 28天写作 12月日更

react源码解析6.legacy模式和concurrent模式

buchila11

React

安全办公 |企业级IM即时通讯私有云解决方案

BeeWorks

Java 程序员必须掌握的 10 款开源工具

编程江湖

java编程 java开发工具

让工具成为双手的延伸

Zilliz

数据库 书籍推荐 程序 书籍

DataPipeline与TiDB推出异构数据实时同步解决方案,共筑安全可信基础设施

DataPipeline数见科技

数据库 大数据 中间件 数据融合 数据管理

SAP Spartacus Session affinity

汪子熙

后端 28天写作 12月日更 Spartacus 会话

Flutter 自定义 ACEFoldTextView 折叠文本

阿策小和尚

28天写作 0 基础学习 Flutter 内容合集 签约计划第二季 12月日更

数据库事务的三个元问题

Zilliz

数据库 数据库设计

科创人·StreamNative翟佳:开源模式价值为王,基础软件的未来在国内社区

科创人

前端开发:npm run serve和npm run dev的区别

三掌柜

28天写作 21天挑战 12月日更

CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩!

华为云开发者联盟

高并发 图像预处理 CANN 昇腾 异构计算

Python enumerate():使用计数器简化循环

华为云开发者联盟

Python 变量 计数器 循环 enumerate

Go语言学习查缺补漏ing Day7

恒生LIGHT云社区

golang Go 语言 编程语言‘

为啥你写的代码老有大串的if/else?

华为云开发者联盟

代码 if for循环 else

如期而至-用户购买时间预测(下)

索信达控股

模型 购买预测 购买行为 精准营销

一文读懂 Apache Pulsar

了凡跨境洞察

云原生 Apache Pulsar 消息系统 数据流 Apache Pulsar 社区

【干货分享】研效优化实践:AI算法助力深层BUG挖掘

WeTest

从0到1教你如何使用 p5.js 绘制简单的动画

海拥(haiyong.site)

大前端 动画 28天写作 签约计划第二季 12月日更

从 0-15 套存储集群,YRCloudFile 助力 AI 训练效率“超线性增长”

焱融科技

人工智能 云计算 分布式 高性能 文件存储

前端性能优化 24 条建议

编程江湖

大前端

高并发多方案秒杀架构

MetaThoughts

MySQL性能测试之select&update【FunTester框架】

FunTester

MySQL 性能测试 测试框架 FunTester FunTester框架

这套神奇的个人信息管理系统,带我一步步进入互联网大厂

博文视点Broadview

全链路数据血缘在满帮的实践

华为云开发者联盟

sql 图数据库 图计算 全链路数据血缘 数据血缘

大厂面试算法题之数组

程序员学长

数据结构 算法 大厂面试

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