文档章节

unittest+coverage单元测试代码覆盖操作实例

henni_719
 henni_719
发布于 2017/04/22 17:31
字数 286
阅读 12
收藏 0

基于上一篇文章,这篇文章是关于使用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()

运行结果图:



© 著作权归作者所有

henni_719
粉丝 2
博文 466
码字总数 343938
作品 0
信阳
QA/测试工程师
私信 提问
从白盒测试到单元测试基础原理

之前已经讲了一些白盒测试测试的原理及一些方法,这次,我们从白盒测试出发,讲讲单元测试,相信做过的朋友都了解,今天就线简单说说单元测试的原理。 从重点开始,还是用例设计,单元测试用...

fiawfo
2016/11/22
128
0
使用 Cobertura 和反射机制提高 Java 单元测试中的代码覆盖率

引言 单元测试是软件开发过程中重要的质量保证环节。单元测试可以减少代码中潜在的错误,使缺陷更早地被发现,从而降低了软件的维护成本。软件代码的质量由单元测试来保证,而单元测试自身的...

lw_tao
2014/04/03
0
0
基于spring-boot的应用程序的单元+集成测试方案

概述 本文主要介绍单元测试、集成测试相关的概念、技术实现以及最佳实践。 本文的demo是基于Java语言,Spring Boot构建的web应用。测试框架使用Junit,模拟框架使用mockito。 之前曾经总结过...

heyikan
2018/11/21
0
0
Guava库学习:学习Guava Files系列(一)

对程序开发人员来说,文件的读写是很重要的一项技能。但是令人惊讶的是,尽管Java提供了一个丰富而健壮的I/O库,进行一些基本的文件操作却显得很繁 琐。不过在Java 7中已经发生了一些改变,但...

Realfighter
2015/04/30
0
1
使用 PHPUnit 进行 PHP 的单元测试

PHPUnit是一个用PHP编程语言开发的开源软件,是一个单元测试框架。PHPUnit由Sebastian Bergmann创建,源于Kent Beck的SUnit,是xUnit家族的框架之一。本文将探索PHPUnit,特别介绍自动化单元...

oschina
2013/05/30
35.3K
18

没有更多内容

加载失败,请刷新页面

加载更多

面向对象方面的一些东东

<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" cont......

流年那么伤
27分钟前
2
0
git 过滤文件夹和文件(IDEA)

最近使用git版本管理工具遇到一件很烦的事情,commit时总会把.idea、.*.iml和target文件添加进来,实际开发中,这些是需要过滤掉的。在.gitnore文件添加了过滤不起作用。下面介绍一种成功过滤...

uug
34分钟前
2
0
Spark Streaming 实时统计商户当日累计PV流量

一、问题 对实时流量日志过滤筛选商户流量,对每个商户的流量进行累计,统计商户实时累计流量。 当时间超过24时时,重新统计当日商户的实时累计流量。 二、实现步骤 1、采用Spark Streaming...

boonya
39分钟前
2
0
如果Task与Event 创建了记录类型后,不出现在Lightning的Activities中

如果在Lightning的Activities没出现这两个Button,但是在页面布局的Lightning 按钮区也存在,全局操作的记录类型就需要选择一个,否则不会出现

在山的那边
48分钟前
2
0
ddd中的子域和界限上下文

我们先来说说子域是什么?子域在我的理解是在一个庞大的系统中可以明显感知的不同的区块,如果在电商模块中,商品目录,订单,物流,库存,发票等等都可以感知他们明显的不同,可以认为是子域...

算法之名
57分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部