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 相关文章推荐
Django中几种重定向方法
Apr 28 Python
python字典键值对的添加和遍历方法
Sep 11 Python
python 连接sqlite及简单操作
Jun 30 Python
创建pycharm的自定义python模板方法
May 23 Python
使用Python写一个量化股票提醒系统
Aug 22 Python
python使用matplotlib画饼状图
Sep 25 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
python获取点击的坐标画图形的方法
Jul 09 Python
python实现图片上添加图片
Nov 26 Python
Tensorflow tf.tile()的用法实例分析
May 22 Python
Python+pyftpdlib实现局域网文件互传
Aug 24 Python
python软件测试Jmeter性能测试JDBC Request(结合数据库)的使用详解
Jan 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
将CMYK颜色值和RGB颜色相互转换的PHP代码
2014/07/28 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
2018/06/14 PHP
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
用jQuery获取IE9下拉框默认值问题探讨
2013/07/22 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
jQuery实现的选择商品飞入文本框动画效果完整实例
2016/08/10 Javascript
浅谈Angular.js中使用$watch监听模型变化
2017/01/10 Javascript
layui导航栏实现代码
2017/05/19 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
微信小程序实现页面左右滑动
2020/11/16 Javascript
Python 开发Activex组件方法
2009/11/08 Python
python使用7z解压apk包的方法
2015/04/18 Python
python放大图片和画方格实现算法
2018/03/30 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
python 通过类中一个方法获取另一个方法变量的实例
2019/01/22 Python
详解python selenium 爬取网易云音乐歌单名
2019/03/28 Python
Django 请求Request的具体使用方法
2019/11/11 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Python抓包程序mitmproxy安装和使用过程图解
2020/03/02 Python
使用python创建生成动态链接库dll的方法
2020/05/09 Python
Pycharm打开已有项目配置python环境的方法
2020/07/03 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
石油工程专业毕业生求职信
2014/04/13 职场文书
防沙治沙典型材料
2014/05/07 职场文书
敬老模范事迹
2014/05/21 职场文书
党委工作总结2015
2015/04/27 职场文书
辩护意见书
2015/06/04 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
大学生,三分钟即兴演讲稿
2019/07/22 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
python实现简易自习室座位预约系统
2021/06/30 Python
MySQL学习之基础命令实操总结
2022/03/19 MySQL