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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
Python手机号码归属地查询代码
May 04 Python
python实现list由于numpy array的转换
Apr 04 Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 Python
详解Python下ftp上传文件linux服务器
Jun 21 Python
使用django-guardian实现django-admin的行级权限控制的方法
Oct 30 Python
解决新django中的path不能使用正则表达式的问题
Dec 18 Python
python同时替换多个字符串方法示例
Sep 17 Python
Python爬虫图片懒加载技术 selenium和PhantomJS解析
Sep 18 Python
Python实现AI换脸功能
Apr 10 Python
python实现人脸签到系统
Apr 13 Python
搭建pypi私有仓库实现过程详解
Nov 25 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版(1)
2006/10/09 PHP
php 图片加水印与上传图片加水印php类
2010/05/12 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
PHP如何读取由JavaScript设置的Cookie
2017/03/22 PHP
javascript 函数式编程
2007/08/16 Javascript
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
flash 得到自身url参数的代码
2009/11/15 Javascript
浏览器脚本兼容 文本框中,回车键触发事件的兼容
2010/06/21 Javascript
动态载入/删除/更新外部 JavaScript/Css 文件的代码
2010/07/03 Javascript
js 异步操作回调函数如何控制执行顺序
2013/12/24 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
javascript+HTML5自定义元素播放焦点图动画
2016/02/21 Javascript
前端js文件合并的三种方式推荐
2016/05/19 Javascript
jQuery EasyUI基础教程之EasyUI常用组件(推荐)
2016/07/15 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
node学习笔记之读写文件与开启第一个web服务器操作示例
2019/05/29 Javascript
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
在Python的struct模块中进行数据格式转换的方法
2015/06/17 Python
python re模块的高级用法详解
2018/06/06 Python
elasticsearch python 查询的两种方法
2019/08/04 Python
python打包生成so文件的实现
2020/10/30 Python
python的setattr函数实例用法
2020/12/16 Python
英国创新设计文具、卡片和礼品包装网站:Paperchase
2018/07/14 全球购物
董事长秘书岗位职责
2013/11/29 职场文书
生日宴会答谢词
2014/01/09 职场文书
超市开店计划书
2014/04/26 职场文书
建筑安全生产责任书
2014/07/22 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
2015年小学中秋节活动总结
2015/03/23 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
为了顺利买到演唱会的票用Python制作了自动抢票的脚本
2021/10/16 Python
正则表达式基础与常用验证表达式
2022/06/16 Javascript