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结合opencv实现人脸检测与跟踪
Jun 08 Python
python3音乐播放器简单实现代码
Apr 20 Python
Python设计模式之抽象工厂模式
Aug 25 Python
python中lambda()的用法
Nov 16 Python
使用python读取csv文件快速插入数据库的实例
Jun 21 Python
Python2和Python3.6环境解决共存问题
Nov 09 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
Jan 15 Python
打印tensorflow恢复模型中所有变量与操作节点方式
May 26 Python
pandas之分组groupby()的使用整理与总结
Jun 18 Python
Python如何将字符串转换为日期
Jul 31 Python
Django drf请求模块源码解析
Jun 08 Python
Python常遇到的错误和异常
Nov 02 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
Codeigniter发送邮件的方法
2015/03/19 PHP
PHP实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
jquery 缓存问题的几个解决方法
2013/11/11 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
2015/11/02 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
2016/05/17 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
jquery 多个radio的click事件实例
2016/12/03 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
2017/03/13 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
JS求1到任意数之间的所有质数的方法详解
2019/05/20 Javascript
原生js实现随机点名
2020/07/05 Javascript
vue 实现把路由单独分离出来
2020/08/13 Javascript
在HTML中使用JavaScript的两种方法
2020/12/24 Javascript
python处理cookie详解
2014/02/07 Python
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
Python二分法搜索算法实例分析
2015/05/11 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
Python读取二进制文件代码方法解析
2020/06/22 Python
python实现图片,视频人脸识别(opencv版)
2020/11/18 Python
css3动画效果抖动解决方法
2018/09/03 HTML / CSS
CSS3教程(6):创建网站多列
2009/04/02 HTML / CSS
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
添柏岚英国官方网站:Timberland英国
2019/11/28 全球购物
自我评价优秀范文分享
2013/11/30 职场文书
入党转预备思想汇报
2014/01/07 职场文书
公司成立感言
2014/01/11 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android