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

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

关注

评论

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

MT马特量化交易系统开发|MT马特量化交易软件APP开发

系统开发

Python基础之:函数

程序那些事

Python 数据分析 Python3 程序那些事

阿里P8大佬亲自讲解!万字Android技术类校招面试题汇总,已拿offer

欢喜学安卓

android 程序员 面试 移动开发

阿里P8大牛亲自讲解!难道Android真的凉了?3面直接拿到offer

欢喜学安卓

android 程序员 面试 移动开发

Python 语言基础变量的类型转换

HoneyMoose

实习记录-埋点测试

YUKI0506

突破关系型数据库桎梏:云原生数据库中间件核心剖析

京东科技开发者

数据库 nosql 分布式系统

LoadRunner测试中遇见的不可思议的问题及其解决方法

陈磊@Criss

七日更 28天写作 3月日更

36 Kr | 打造企业统一数据安全入口,「图尔兹」想用新思路解决数据安全问题

BinTools图尔兹

数据库 sql 数据安全 权限 数据库管理工具

亿级用户中心的设计与实践

vivo互联网技术

大数据 架构设计 数据安全

了解MySQL6种约束的不同和特点

华为云开发者联盟

MySQL 数据 约束 主键约束 自增长约束

10 个解放双手超实用在线工具,有些代码真的不用手写

程序员小富

Java

Python 语言基础变量获得变量类型

HoneyMoose

上线 Python 应用仅需一条命令的开源框架:Zappa(详细教程)

HelloGitHub

Python Serverless 无服务器云函数

知识+AI融合创新探索,华为云论文被AI顶级学术期刊IEEE TPAMI接受

华为云开发者联盟

AI 模型 华为云 卷积神经网络 IEEE TPAMI论文

纯干货 | 详解 HDFS 3.x 新特性-纠删码

五分钟学大数据

大数据 hdfs 28天写作 3月日更

BI掌柜量化交易系统开发|BI掌柜炒币机器人软件APP开发

系统开发

女神节·走近又美又飒的程序媛

华为云开发者联盟

华为 程序媛 IT 工程师 汉服

正则表达式.03 - 分组

insight

正则表达式 3月日更

《精通比特币》学习笔记(第四章)

棉花糖

区块链 读书笔记 3月日更

列表推导式与字典推导式,滚雪球学 Python

梦想橡皮擦

28天写作 3月日更

面试现场:小伙伴的美团一面分享和分析[含答案]

小傅哥

Java 面试 小傅哥

Python 语言基础变量定义和使用

HoneyMoose

关于MPI-IO,你该知道的

焱融科技

存储 HPC 焱融科技 文件存储 分布式存储

2021网络系统流行架构

杨东冬

架构 网关 ebpf cilium envoy

二维码高端路线养成计

happlyfox

学习 技能 28天写作 3月日更

实现一个全链路监控平台很难吗?Pinpoint、SkyWalking、Zipkin,哪个实现比较好?

xcbeyond

架构 技术方案 链路监控 3月日更

小喜量化交易系统开发|小喜APP软件开发

系统开发

工作日志3-2-3

技术骨干

大括号之谜:C++的列表初始化语法解析

华为云开发者联盟

c++ 函数 语法 元素 std::array

《我想进大厂》之分布式锁夺命连环9问 | 大理版人在囧途

艾小仙

Java redis zookeeper 分布式锁

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