50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

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

关注

评论

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

翟佳:从技术工程师到「网红」开源创业者

腾源会

开源 开源公司

大数据培训:Flink全链路延迟的测量方式及原理

@零度

flink 大数据开发

移动开发平台WorkPlus | 快速实现企业移动应用集成化

BeeWorks

国内首款! 亚信科技数据库AntDB亮相中国信通院性能测试工具发布会

亚信AntDB数据库

HTTP缓存协议实战

vivo互联网技术

缓存 浏览器 服务器 HTTP

3种基于深度学习的有监督关系抽取方法

华为云开发者联盟

文本检测 区域重组 文本检测算法 PixelLink TextSnake

第十二节:Springboot多环境配置

入门小站

spring-boot

微服务从代码到k8s部署应有尽有系列(二、网关)

万俊峰Kevin

微服务 RPC web开发 go-zero Go 语言

云原生微服务技术趋势解读

阿里巴巴中间件

阿里云 微服务 云原生 中间件

开源demo| 你画我猜——让你的生活更有趣

anyRTC开发者

音视频 互动白板 开源demo 你画我猜 社交娱乐

如何通过测试用例保障交付质量

阿里云云效

阿里云 云原生 开发测试 测试用例 研发

网络编程懒人入门(十四):到底什么是Socket?一文即懂!

JackJiang

TCP 网络编程 socket IM 即时通讯IM

web前端培训: Vue3面试考点分享

@零度

前端开发 Vue3

Android 12 “致命”崩溃解决之路

阿里巴巴终端技术

android 崩溃分析 客户端 UC内核

2022 年值得关注的 十大 DevOps 最佳实践

飞算JavaAI开发助手

X6在数栈指标管理中的应用

袋鼠云数栈

Java 大数据 前端

mark: centos 镜像下载地址

webrtc developer

Linux centos

英特尔CEO:开启超级摩尔定律的时代,推动前沿进展

科技新消息

文本检测算法新思路:基于区域重组的文本检测

华为云开发者联盟

文本检测 区域重组 文本检测算法 PixelLink TextSnake

前端技术分享:页面性能优化问题复盘

有道技术团队

前端

【OH干货】如何向OpenHarmony社区提交代码

拓维信息

OpenHarmony

运维安全是指什么?如何做好运维安全?

行云管家

运维 网络安全 IT运维 运维安全

如何选择充血模型和贫血模型

蜜糖的代码注释

DDD 领域建模 2月月更

在线YAML转JSON工具

入门小站

工具

Linux常用的命令

龙空白白

linux 文件权限控制 linuc

java培训:JVM 锁的优化和逃逸分析

@零度

JVM JAVA开发

后端新手如何从 0 到 1 打造一款 Apache APISIX 插件

API7.ai 技术团队

后端 插件 Apache APISIX APISIX 网关

【C语言】一篇速通常量变量

謓泽

编程语言 C语言 2月月更 常量变量

Java&Go高性能队列之channel性能测试

FunTester

Go 性能测试 队列 channel FunTester

CRM重构项目

Mars

启发式智能任务调度的探索

鲸品堂

算法 函数 任务调度

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