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 GAE、Django导出Excel的方法
Nov 24 Python
跟老齐学Python之用Python计算
Sep 12 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
pycharm 主题theme设置调整仿sublime的方法
May 23 Python
Python实现矩阵相乘的三种方法小结
Jul 26 Python
python3.6.3转化为win-exe文件发布的方法
Oct 31 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
基于python+selenium的二次封装的实现
Jan 06 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
Jan 10 Python
Tensorflow 多线程与多进程数据加载实例
Feb 05 Python
Python趣味入门教程之循环语句while
Aug 26 Python
BeautifulSoup中find和find_all的使用详解
Dec 07 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
PHP的数组中提高元素查找与元素去重的效率的技巧解析
2016/03/03 PHP
PHP实现打包下载文件的方法示例
2017/10/07 PHP
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
THREE.JS入门教程(4)创建粒子系统
2013/01/24 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
JS实现往下不断流动网页背景的方法
2015/02/27 Javascript
javascript实现淘宝幻灯片广告展示效果
2015/04/27 Javascript
JS实现超精简响应鼠标显示二级菜单代码
2015/09/12 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
jquery将标签元素的高设为屏幕的百分比
2017/04/19 jQuery
JavaScript定义及输出螺旋矩阵的方法详解
2017/12/01 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
js实现一个简易计算器
2020/03/30 Javascript
jQuery cookie的公共方法封装和使用示例
2020/06/01 jQuery
javascript实现电商放大镜效果
2020/11/23 Javascript
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
Python的几个高级语法概念浅析(lambda表达式闭包装饰器)
2016/05/28 Python
Python 40行代码实现人脸识别功能
2017/04/02 Python
python连接数据库的方法
2017/10/19 Python
解决python selenium3启动不了firefox的问题
2018/10/13 Python
对python3新增的byte类型详解
2018/12/04 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
python 解决pycharm运行py文件只有unittest选项的问题
2020/09/01 Python
小学红领巾中秋节广播稿
2014/01/13 职场文书
二手书店创业计划书
2014/01/16 职场文书
竞争上岗实施方案
2014/03/21 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
会议接待欢迎标语
2014/10/08 职场文书
2014年计生工作总结
2014/11/21 职场文书
关于React Native 无法链接模拟器的问题
2021/06/21 Javascript
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技