unittest+coverage单元测试代码覆盖操作实例详解


Posted in Python onApril 04, 2018

基于上一篇文章,这篇文章是关于使用coverage来实现代码覆盖的操作实例,源代码在上一篇已经给出相应链接。

本篇文章字用来实现代码覆盖的源代码,整个项目的测试框架如下:

unittest+coverage单元测试代码覆盖操作实例详解

就是在源代码的基础上加了一个CodeCover.py文件,执行该文件会在目录CoverageReport生成相应的覆盖报告。如下是CodeCover.py的源码:

#coding=utf8 
import os 
import time 
 
def findTestWithPath(): 
  current_dir=os.getcwd() 
  folderName=os.listdir(current_dir) 
  #print folderName 
  #获取到测试文件所在目录 
  TestSuit=[suite for suite in folderName if  not suite.find("TestSuit")] 
  #用来保存测试文件 
  testfile=[] 
  withPathFile=[] 
  for suite in TestSuit: 
      #获取测试目录下的所有测试文件 
      testfile=testfile+os.listdir(".\\"+suite) 
      for withPath in testfile: 
        withPath=current_dir+"\\"+suite+"\\"+withPath 
        withPathFile.append(withPath) 
  del testfile 
  #把testfile中的py文件挑选出来 
  withPathFile=[name for name in withPathFile if not "pyc" in name] 
  #print testfile 
  print withPathFile 
  return withPathFile 
 
def codeCoverage(): 
  now = time.strftime("%Y%m%d%H%M")  
  htmlReport=os.getcwd()+"\\"+"CoverageReport" 
  htmlCmd="coverage html -d " + htmlReport +"\\"+now 
  for pyfile in findTestWithPath():  
    runPyCmd="coverage run " + pyfile 
    if os.path.exists(htmlReport) :       
      os.system(runPyCmd) 
      os.system(htmlCmd) 
    else: 
      os.mkdir(htmlReport) 
      os.system(runPyCmd) 
      os.system(htmlCmd) 
       
 
if __name__=="__main__": 
  codeCoverage()

运行结果图:

unittest+coverage单元测试代码覆盖操作实例详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python选择排序算法的实现代码
Nov 21 Python
python写xml文件的操作实例
Oct 05 Python
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 Python
使用rpclib进行Python网络编程时的注释问题
May 06 Python
详谈Python基础之内置函数和递归
Jun 21 Python
django解决跨域请求的问题详解
Jan 20 Python
详解python--模拟轮盘抽奖游戏
Apr 12 Python
python获取磁盘号下盘符步骤详解
Jun 19 Python
教你用Python爬取英雄联盟皮肤原画
Jun 13 Python
OpenCV 图像梯度的实现方法
Jul 25 Python
OpenCV项目实践之停车场车位实时检测
Apr 11 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 Python
python unittest实现api自动化测试
Apr 04 #Python
Python Unittest自动化单元测试框架详解
Apr 04 #Python
python如何使用unittest测试接口
Apr 04 #Python
Python统计单词出现的次数
Apr 04 #Python
高效使用Python字典的清单
Apr 04 #Python
Python的numpy库中将矩阵转换为列表等函数的方法
Apr 04 #Python
python 列表,数组,矩阵两两转换tolist()的实例
Apr 04 #Python
You might like
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
PHP对称加密算法(DES/AES)类的实现代码
2017/11/14 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
JavaScript面向对象之体会[总结]
2008/11/13 Javascript
防止动态加载JavaScript引起的内存泄漏问题
2009/10/08 Javascript
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
JavaScript 打地鼠游戏代码说明
2010/10/12 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
TypeScript具有的几个不同特质
2015/04/07 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
JavaScript实现的浏览器下载文件的方法
2017/08/09 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
对angularJs中2种自定义服务的实例讲解
2018/09/30 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
[54:18]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第一场 1月22日
2021/03/11 DOTA
python爬虫headers设置后无效的解决方法
2017/10/21 Python
pyqt5数据库使用详细教程(打包解决方案)
2020/03/25 Python
mac系统下安装pycharm、永久激活、中文汉化详细教程
2020/11/24 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
绩效管理实施方案
2014/03/19 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
旅游文化节策划方案
2014/06/06 职场文书
老公保证书
2015/01/17 职场文书
地球上的星星观后感
2015/06/02 职场文书
小学秋季运动会加油口号及加油稿
2019/08/19 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python