Java和Groovy测试代码覆盖分析

Clover提供了一种度量手段,帮助您更好地平衡编写代码和测试代码的工作量。

Clover在您的集成开发环境(IDE)或您的持续集成系统中运行,其中包含了测试优化功能,使您的测试运行得更快、发现问题更早。

下载试用
Clover文档

Clover价格 [人民币 CNY]

标准版
1主机10主机25主机100主机100+主机
12,00022,00040,00080,000160,000
标准版
1主机10主机25主机100主机100+主机
6,00011,00020,00040,00080,000
标准版
授权升级10主机25主机100主机100+主机
由1主机 12,000 34,000 74,000 154,000
由10主机 - 22,000 64,000 146,000
由25主机 - - 44,000 124,000
由100主机 - - - 84,000

一个Clover商业授权包括:

  • 在生产环境中的指定数量的主机上部署Clover实例
  • 永久使用Clover
  • 提供12个月的软件维护 - 包括软件升级和在线技术支持
更多信息,请参考终端用户授权协议(ATLASSIAN END USER AGREEMENT)

发现风险代码

Clover能够在您的项目中识别出高风险代码,以便您可以重点测试这些最具风险的地方。


在桌面上...

在Eclipse或IntelliJ中运行Clover可以保证您最近的代码变更有足够的测试覆盖率。


在构建中...

Clover能够与Bamboo、Hudson、Ant、Maven以及其它持续集成和自动构建工具进行集成,可以在您的构建结果中提供代码覆盖率报告。


测试优化

在您的构建中加快测试执行,从而更快地反馈出最近代码变更所造成的影响。


不仅支持Java – 也支持Groovy!

Clover也支持Groovy,因此在产品面向终端用户前,您可以在Groovy这种动态类型语言的代码中发现存在的风险。

覆盖率云图

Clover的覆盖率云图通过识别以下内容,能够快速指出新测试将在哪里影响最大。

  • 项目风险 – 最复杂的、覆盖最少的类。
  • 快赢 - 最大的、覆盖最少的类。

  • 树状图

    快速浏览整个项目的代码覆盖情况。

  • 颜色 - 代表测试覆盖率
  • 大小 - 代表代码复杂度
  • 包层次结构 - 以更容易理解的方式显示

  • 每次测试的覆盖情况

    Clover追踪测试和代码之间的联系,以便快速识别:

  • 一次测试覆盖了哪些类和方法?
  • 哪些测试覆盖了某个特定的类、方法或代码行?

  • 趋势报告

    通过Clover监控覆盖趋势,帮助您快速识别新的风险:

  • 新的还未测试的代码
  • 现有尚未测试覆盖的代码
  • Clover可以精确地高亮显示需要关注的代码,以便找到风险所在!

    Eclipse与IntelliJ IDEA支持

    在基于Eclipse的IDE或IntelliJ IDEA中运行Clover,在您提交源代码到版本库前检查这些代码变更的覆盖情况。

  • 用颜色表示测试覆盖率
  • 源文件中的逐行测试覆盖信息最近测试运行的通过和失败信息

  • 您的IDE度量

    Clover桌面提供了许多度量和可视化的功能,您可以在开发和测试时查看它们。

  • 覆盖率云图 - 高亮显示项目风险和快赢
  • 树状图 - 显示您整个项目的覆盖率和复杂度
  • 定制度量 - 基于数十种内置度量标准
  • Clover与Bamboo

    Clover与Atlassian Bamboo持续集成服务器集成,可以在您的构建结果中显示测试覆盖率情况。

  • 构建覆盖率趋势 - 指出新的风险在何时被引入的
  • 测试优化 - 通过仅运行覆盖变更代码的测试或以前失败的测试,加快构建速度

  • Ant、Maven还有更多

    Clover 几乎可以和任何构建系统集成,包括:

  • Ant
  • Maven
  • Maven 2
  • Jenkins
  • 命令行工具

  • 与Jenkins集成

    在Jenkins持续集成构建服务器中点击一个按钮就可以获得Clover代码覆盖信息,通过与Clover集成,能够按照时间顺序识别项目风险、观察代码覆盖率和代码度量趋势。

  • Jenkins构建中的覆盖率结果
  • Jenkins天气报告中的Clover代码覆盖率
  • 更快执行测试

    Clover 可以使用选择性测试,通过只运行下列测试来加速您的构建和测试执行:

  • 覆盖已变更的代码的测试
  • 在以前的构建中失败的测试

  • 让测试失败尽早出现

    构建失败出现得越早,就可以更快地修复它。Clover可以根据下列条件尝试重新安排您的测试:

  • 哪些代码已经变更
  • 哪些测试最近失败了
  • 哪些测试运行时间最长

  • 优化设置

    通过Clover,您可以优化您的构建,从而适应您的构建方式、构建内容和构建运行位置。

  • 只运行已经变更的测试或测试已经变更的代码
  • 首先运行上述测试,然后才运行其它的测试
  • 随机重新安排测试以便排除相互依赖
  • 首先运行最短的测试
  • 每N次构建就运行所有的测试
  • Clover与Groovy

    您已经开始使用Groovy来快速构建应用了么?Clover同样可以测量Groovy代码的覆盖率!

  • 检测由于输入错误(例如"x.foo"而不是"x.foo()")造成的错误属性和方法。
  • Clover支持Groovy闭包。
  • Grails Clover插件能获得网络应用程序的代码覆盖率。

  • 与Grails集成

    Clover-for-Grails插件可以从Grails网络应用开发框架中生成Clover代码覆盖率报告。它提供了详细信息,可以突出显示项目中的低覆盖率区域,指导您根据自动化测试策略做出明智的决定。

    典型客户

    • Adobe
    • ADP
    • Air Canada - 加拿大航空
    • Alcatel-Lucent Bell - 阿尔卡特 朗讯
    • Allianz - 安联
    • Apache Software Foundation - Apache软件基金会
    • AT&T
    • BBC
    • Best Buy - 百思买
    • Blackboard - 毕博
    • Booz Allen Hamilton - 博思艾伦咨询公司
    • Bose
    • BP - 英国石油
    • British Telecommunications - 英国电信
    • California State University - 加利福尼亚大学
    • Canon - 佳能
    • Chrysler - 克莱斯勒
    • Cisco - 思科
    • Deutsche Bank - 德意志银行
    • Duke University - 杜克大学
    • EMC
    • Ernst & Young - 安永会计师事务所
    • Fujitsu - 富士通
    • HSBC - 汇丰银行
    • Hyundai - 现代
    • InterContinental Hotels Group - 洲际酒店集团
    • LG Electronics - LG电子
    • LinkedIn
    • Massachusetts Institute of Technology - 麻省理工学院
    • Mazda - 马自达
    • McAfee - 迈克菲
    • Mckesson - 麦克森
    • Mercedes-Benz - 梅赛德斯 - 奔驰
    • Microsoft - 微软
    • NASA - 美国航空航天局
    • New York Stock Exchange - 纽约证券交易所
    • Nokia - 诺基亚
    • Oracle - 甲骨文
    • Qualcomm - 高通
    • Red Hat - 红帽
    • Salesforce
    • Samsung - 三星
    • T-Mobile
    • United Nations - 联合国
    • US Army - 美国陆军
    • Volkswagen - 大众汽车
    • Xerox - 施乐
    • Yahoo! - 雅虎
    TOP