写点什么

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

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

关注

评论

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

深入学习-Gradle-自动化构建技术(六)Gradle-插件平台化框架-ByteX-探秘之旅

android 程序员 移动开发

满足你各种姿势的最美Android开源日历,android音频

android 程序员 移动开发

滴滴开源DRouter:一款高效的Android路由框架,androidui开发工具

android 程序员 移动开发

【LeetCode】求众数 IIJava题解

Albert

算法 LeetCode 11月日更

这一次,解决Flutter Dialog的各种痛点!

小呆呆666

flutter ios android dart dialog

使用 Spring Boot 和 @SpringBootTest 进行测试

码语者

Spring Boot 测试 test

深入探索 Android 网络优化(三、网络优化篇,flutter页面跳转卡

android 程序员 移动开发

深入探索编译插桩技术(四、ASM 探秘,二本学渣考研失败

android 程序员 移动开发

深入解析Android的StateListDrawable,项目实战

android 程序员 移动开发

kubernetes系列随笔01:云原生发展

Geek_cd6rkj

Kubernetes 云原生 弹性

渣本安卓客户端Android秋招总结(重排了字号),android项目实战手机安全卫士

android 程序员 移动开发

深入理解 Activty 加载速度优化,android开发实战-记账本清风紫雪

android 程序员 移动开发

渣本转岗,从Java到Android,这一年我经历了太多太多,移动开发者大会

android 程序员 移动开发

渣渣二本的辛酸面试之路:从深圳到杭州,从外包到蚂蚁金服

android 程序员 移动开发

滴滴DoKit Android核心原理揭秘之函数耗时,app架构图怎么做

android 程序员 移动开发

滴滴国际化项目 Android 端演进,一个小例子彻底搞懂Android的MVP模式到底是什么

android 程序员 移动开发

在推荐几款ins视频和图片下载器,支持安卓和苹果

So...

Instagram ins ig ins视频和图片

深入分析ConstraintLayout的原理及应用场景,万字总结

android 程序员 移动开发

深入浅出Android性能调优【全面深入易理解】,来一份全面的面试宝典练练手

android 程序员 移动开发

深度探索 Gradle 自动化构建技术(四、自定义 Gradle 插件

android 程序员 移动开发

深入并发原理和大厂面试(二),kotlin协程的理解

android 程序员 移动开发

深入理解Flutter动画原理,一个月成功收割腾讯、阿里、字节offer

android 程序员 移动开发

深入解析Android-Studio中Gradle依赖,flutter扫描二维码

android 程序员 移动开发

漫谈MVVM(1)ViewModel_DataBinding核心原理,kotlin开发安卓游戏

android 程序员 移动开发

Vue进阶(幺伍捌):vue组包 CssSyntaxError unclosed bracket 错误解决方法

No Silver Bullet

Vue 11月日更

【Flutter 专题】20 图解 ListView 下拉刷新与上拉加载 (三)【RefreshIndicator】

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

Eureka 源码之启动过程

悟空聊架构

Eureka 源码剖析 悟空聊架构

深入理解AsyncTask的工作原理,成为阿里P7Android架构师到底有多难

android 程序员 移动开发

深度认识单例模式;在Android源码中的应用,华为Android面试真题解析

android 程序员 移动开发

Python代码阅读(第51篇):判断给定的数是否在给定的范围内

Felix

Python 编程 Code Programing 阅读代码

告警风暴来袭,智能运维应如何化解?

云智慧AIOps社区

AIOPS 告警 技术学习 智能运维 时序数据

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