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读文件逐行处理的示例代码分享
Dec 27 Python
Python写的一个简单DNS服务器实例
Jun 04 Python
Python中的自定义函数学习笔记
Sep 23 Python
一键搞定python连接mysql驱动有关问题(windows版本)
Apr 23 Python
Python selenium 父子、兄弟、相邻节点定位方式详解
Sep 15 Python
Python将多个excel文件合并为一个文件
Jan 03 Python
python2.7读取文件夹下所有文件名称及内容的方法
Feb 24 Python
Python 机器学习库 NumPy入门教程
Apr 19 Python
python批量赋值操作实例
Oct 22 Python
pytorch下使用LSTM神经网络写诗实例
Jan 14 Python
解决jupyter notebook显示不全出现框框或者乱码问题
Apr 09 Python
Python如何实现邮件功能
May 27 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
一个颜色轮换的简单例子
2006/10/09 PHP
PHP函数eval()介绍和使用示例
2014/08/20 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
php数据访问之查询关键字
2016/05/09 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
js特殊字符转义介绍
2013/11/05 Javascript
js文件Cookie存取值示例代码
2014/02/20 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
2014/07/09 Javascript
jQuery中get()方法用法实例
2014/12/27 Javascript
JavaScript多并发问题如何处理
2015/10/28 Javascript
简单介绍jsonp 使用小结
2016/01/27 Javascript
jQuery中deferred对象使用方法详解
2016/07/14 Javascript
jQuery UI仿淘宝搜索下拉列表功能
2017/01/10 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
使用Vue实现一个树组件的示例
2020/11/06 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
Python 详解基本语法_函数_返回值
2017/01/22 Python
Python多进程multiprocessing用法实例分析
2017/08/18 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
TensorFLow 不同大小图片的TFrecords存取实例
2020/01/20 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
校园活动策划书范文
2014/01/10 职场文书
办理居住证介绍信
2014/01/15 职场文书
如何撰写一封出色的求职信
2014/04/27 职场文书
出国英文推荐信
2014/05/10 职场文书
扬尘污染防治方案
2014/06/15 职场文书
个人委托书
2014/07/31 职场文书
2014年消防工作总结
2014/11/21 职场文书
城南旧事读书笔记
2015/06/29 职场文书
演讲比赛主持词
2015/06/29 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang