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实现2048小游戏
Mar 30 Python
Python线程中对join方法的运用的教程
Apr 09 Python
Python字典操作简明总结
Apr 13 Python
Python中用Decorator来简化元编程的教程
Apr 13 Python
使用Python对Excel进行读写操作
Mar 30 Python
Django视图之ORM数据库查询操作API的实例
Oct 27 Python
2018年Python值得关注的开源库、工具和开发者(总结篇)
Jan 04 Python
python如何读写csv数据
Mar 21 Python
使用python获取邮箱邮件的设置方法
Sep 20 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
Python实现微信好友的数据分析
Dec 16 Python
Python如何将字符串转换为日期
Jul 31 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
php MySQL与分页效率
2008/06/04 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
ThinkPHP视图查询详解
2014/06/30 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
php如何控制用户对图片的访问 PHP禁止图片盗链
2016/03/25 PHP
php 二维数组时间排序实现代码
2016/11/19 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
BOM系列第一篇之定时器setTimeout和setInterval
2016/08/17 Javascript
canvas绘制七巧板
2017/02/03 Javascript
Node.js中Bootstrap-table的两种分页的实现方法
2017/09/18 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
浅谈在Vue.js中如何实现时间转换指令
2019/01/06 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
javascript设计模式之装饰者模式
2020/01/30 Javascript
python使用matplotlib绘图时图例显示问题的解决
2017/04/27 Python
Python模块文件结构代码详解
2018/02/03 Python
对python3 中方法各种参数和返回值详解
2018/12/15 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
python 含子图的gif生成时内存溢出的方法
2019/07/07 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
Python selenium抓取虎牙短视频代码实例
2020/03/02 Python
python 串行执行和并行执行实例
2020/04/30 Python
python 基于opencv实现图像增强
2020/12/23 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
美国最大的高尔夫发球时间预订网站:TeeOff.com
2018/03/28 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
销售部主管岗位职责
2013/12/18 职场文书
交通安全演讲稿
2014/01/07 职场文书
工作态度检讨书
2014/02/11 职场文书
人口与计划生育责任书
2015/05/09 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
Java Dubbo框架知识点梳理
2021/06/26 Java/Android