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分割TXT文件成4K的TXT文件
May 23 Python
python中列表元素连接方法join用法实例
Apr 07 Python
Python实现定时任务
Feb 08 Python
python用Pygal如何生成漂亮的SVG图像详解
Feb 10 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
Feb 21 Python
python 读取txt,json和hdf5文件的实例
Jun 05 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
Python OpenCV读取png图像转成jpg图像存储的方法
Oct 28 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
Apr 11 Python
Ubuntu中配置TensorFlow使用环境的方法
Apr 21 Python
python rolling regression. 使用 Python 实现滚动回归操作
Jun 08 Python
浅析Python实现DFA算法
Jun 26 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调用数据库的存贮过程
2006/10/09 PHP
一个数据采集类
2007/02/14 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
万能的php分页类
2017/07/06 PHP
Javascript代码混淆综合解决方案-Javascript在线混淆器
2006/12/18 Javascript
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
多种方法判断Javascript对象是否存在
2013/09/22 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
js实现超简单的展开、折叠目录代码
2015/08/28 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
Bootstrap基本插件学习笔记之折叠(22)
2016/12/08 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
p5.js入门教程和基本形状绘制
2018/03/15 Javascript
前端防止用户重复提交js实现代码示例
2018/09/07 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
JavaScript十大取整方法实例教程
2020/12/03 Javascript
Python实现输入二叉树的先序和中序遍历,再输出后序遍历操作示例
2018/07/27 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
Python字典的核心底层原理讲解
2019/01/24 Python
搭建python django虚拟环境完整步骤详解
2019/07/08 Python
浅谈keras通过model.fit_generator训练模型(节省内存)
2020/06/17 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
前台文员的岗位职责
2013/11/14 职场文书
大学毕业后的十年规划
2014/01/07 职场文书
新闻学专业大学生职业生涯规划范文
2014/03/02 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
花田少年史观后感
2015/06/16 职场文书
2016年党校科级干部培训班学习心得体会
2016/01/06 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
JVM之方法返回地址详解
2022/02/28 Java/Android
Python绘制散乱的点构成的图的方法
2022/04/21 Python