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下尝试多线程编程
Apr 28 Python
Python数组定义方法
Apr 13 Python
深入学习Python中的上下文管理器与else块
Aug 27 Python
tensorflow 1.0用CNN进行图像分类
Apr 15 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
python使用socket 先读取长度,在读取报文内容示例
Sep 26 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 Python
opencv 查找连通区域 最大面积实例
Jun 04 Python
pyMySQL SQL语句传参问题,单个参数或多个参数说明
Jun 06 Python
python 模拟登录B站的示例代码
Dec 15 Python
Python中常见的导入方式总结
May 06 Python
python异常中else的实例用法
Jun 15 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常用正则表达式集锦
2014/08/17 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
详解PHP swoole process的使用方法
2017/08/26 PHP
JS学习之一个简易的日历控件
2010/03/24 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
用JS做的简单的可折叠的两级树形菜单
2013/09/21 Javascript
jquery 页面滚动到底部自动加载插件集合
2014/01/31 Javascript
JQuery 控制内容长度超出规定长度显示省略号
2014/05/23 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
Javascript学习笔记之函数篇(五) : 构造函数
2014/11/23 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
2017/03/03 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
ES6中新增的Object.assign()方法详解
2017/09/22 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
微信小程序全局变量的设置、使用、修改过程解析
2019/09/24 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
Python3遍历目录树实现方法
2015/05/22 Python
Python遍历文件夹 处理json文件的方法
2019/01/22 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
python批量生成条形码的示例
2020/10/10 Python
Django如何实现防止XSS攻击
2020/10/13 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
Linux面试题LINUX系统类
2014/11/19 面试题
《在大海中永生》教学反思
2014/02/24 职场文书
多媒体专业自我鉴定
2014/02/28 职场文书
保护环境倡议书300字
2014/05/19 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
工作失职自我检讨书
2015/05/05 职场文书
导游词之无锡梅园
2019/11/28 职场文书
使用Python通过企业微信应用给企业成员发消息
2022/04/18 Python