当前位置: 首页 > news >正文

测试代码覆盖率工具学习(Android Emma)

 

博客分类:
  • 工具分享
eclipse eclemma emma testng 

      关于eclemma的历史和怎么安装,请参考http://www.ibm.com/developerworks/cn/java/j-lo- eclemma/index.html。下面我介绍的只是如何在eclipse里使用eclemma统计使用tentng测试框架单元测试覆盖率,这些都 是建立在上面这篇文章的基础上的。我的目的就是让你不用在花费额外的时间研究怎么配置的问题了,如果你按照我下面的配置在统计单元测试覆盖率的过程中还用 异常或错误发生,请留言,问题一起探讨,共同成长。

    


 鼠标左键单击这个按钮,出现



 
如上图选择《Coverage Configurations》进行emma的配置,

 

1.test项配置。

这个主要配置你要选择的测试类。



 2.配置Coverage项

这个配置主要是你想要测试的类的覆盖率,这里选择了,这里只能配置到包级别的(本人认为这个已近足够了,下面介绍的功能,你就知道本人为什么这么说 了)。也许你看见了,我这里选择了java文件(第一个红色框显示)和test原文件(第二个红色框),如果你也这样选择了,那么覆盖率会检查到这两个包 下面的类的。要知道emma本来就可以测试java application的代码覆盖率的(你看我上面推荐的那篇文章了吗?)

3.配置Arguments参数

 


 

4.classpath配置

 

这里之所以会配置jdbc.oracle的jar包,是因为不配置运行coverage是会出现找不到jar包的错误。所以就配置了这一项(原因还 在找,因为单独跑test程序的时候没有这个错误)。按照这个解决办法,如果你在运行coverage出现找不到jar时候,试试手动在这里指定一下。如 有什么异常请留言,一起解决。


 

经过这四步配置基本完成了,也许到这一步你会有一个疑问:

如果我没配置一个测试类的覆盖率都要进行这么复杂的配置,难保自己不会晕掉的,有没有什么地方可以做一个总配置呢?

我的答案是不知道有没有,反正我研究了一天没有找到,以后用的过程中在看看能不能无心插柳柳自成,如果你先发现,请留言告诉我,共同提高。估计是不会有的,因为这个eclipse插件是这样解决重复配置的问题。

 

A:如何减少重复配置?



 鼠标右键上面这个图标,出现下面:



 期中第二项就是复制的意思,复制完成后,你只需要选择你的test测试类就可以了。

 

 

B.code coverage结果展现

这个介绍上面链接的那篇文章页有所叙述。这里只是告诉你我是怎么用的,结果展现这块eclemma做的很好,这个也许就是它如此受欢迎的真正原因吧!

 

1.在eclipse上选择windows-->show view-->others  输入coverage出现:


 

2.双击Coverage出现:


3.部分按钮介绍。

 

按钮2:就是选择《1.test配置》的那个名称。

按钮1:就是合并多个《1.test配置》,你懂的。

按钮:4:迅速定位到某个类(这个类是你的eclipse的工作区打开的那个累),如下图所示

 



 按钮4:效果如下,就是收起的效果和双击按钮3一样。

 


最后上传这个eclipse的界面,就是这个工具的最后效果:


具体的还需要亲的实践,有问题共同探讨,各种颜色不解释。

转载于:https://www.cnblogs.com/zhengah/p/4801367.html

相关文章:

  • c语言学习三
  • 微信群里的这些文章,都是谣言!赶紧给爸妈看看
  • 如何实现android蓝牙开发 自动配对连接,并不弹出提示框
  • JFreeChart绘制XY折线图(工具类设计)
  • ORACLE数据库笔记之PL/SQL
  • ByteTCC 0.5.0-ALPHA1 发布,基于 TCC 的分布式事务管理器
  • 马哥-51CTO-Linux培训-0901-linux文件系统
  • 【译】Cloudera Manager(CDH)入门系列之四 (管理员控制台)
  • 程序猿常识--OJ系统和ACM测试考试大全
  • linux-命令行快捷方式使用
  • mac 关闭dashboard 开机更快
  • 队列queue
  • SEO优化:为什么要关注“网站抓取频率”?
  • Nginx配置error_page 404错误页面
  • pycharm安装以及简单使用教程
  • bootstrap创建登录注册页面
  • create-react-app项目添加less配置
  • ES6 ...操作符
  • Github访问慢解决办法
  • interface和setter,getter
  • javascript数组去重/查找/插入/删除
  • Laravel Telescope:优雅的应用调试工具
  • pdf文件如何在线转换为jpg图片
  • php中curl和soap方式请求服务超时问题
  • tab.js分享及浏览器兼容性问题汇总
  • Theano - 导数
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 排序(1):冒泡排序
  • 前嗅ForeSpider采集配置界面介绍
  • 用Visual Studio开发以太坊智能合约
  • 再谈express与koa的对比
  • Python 之网络式编程
  • ​​​​​​​​​​​​​​Γ函数
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #define,static,const,三种常量的区别
  • #Linux(Source Insight安装及工程建立)
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #预处理和函数的对比以及条件编译
  • (14)Hive调优——合并小文件
  • (4)事件处理——(7)简单事件(Simple events)
  • (Git) gitignore基础使用
  • (vue)页面文件上传获取:action地址
  • (已解决)什么是vue导航守卫
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)3D模板阴影原理
  • (转)关于pipe()的详细解析
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (状压dp)uva 10817 Headmaster's Headache
  • . Flume面试题
  • .net core 连接数据库,通过数据库生成Modell
  • .NET Framework 的 bug?try-catch-when 中如果 when 语句抛出异常,程序将彻底崩溃
  • .net 程序发生了一个不可捕获的异常
  • .NET6 命令行启动及发布单个Exe文件
  • @Transactional类内部访问失效原因详解
  • @vue/cli 3.x+引入jQuery