Python检测代码覆盖率工具之coverage

Python检测代码覆盖率工具之coverage

代码覆盖率是什么?为什么要统计代码覆盖率?

  1. 代码覆盖率指的是在统计时间段内哪些代码被执行过或者被调用过,它会统计从代码开始执行到结束执行一共执行了多少代码比例。
  2. 为什么要统计?比如我们有一个测试需求,按业务等设计了测试case,但是我们并不清楚自己的测试case到底有没有覆盖所有业务场景,这个时候coverage就可以派上用场

coverage 统计python代码覆盖率

# 加上国内下载源确保下载成功
pip install coverage -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com   

测试代码

这里我们先写一个简单的场景,然后去执行,主要是查看coverage具体是怎么使用的。这里我们从菜鸟上面找到一篇判断字符串是否是数字的代码。

def is_number(s):
    try:
        float(s)
        return True
    except ValueError:
        pass

    try:
        import unicodedata
        unicodedata.numeric(s)
        return True
    except (TypeError, ValueError):
        pass

    return False


print(is_number(10))

返回结果:
C:/Users/hzxy/PycharmProjects/work/test.py
True

Process finished with exit code 0

开始覆盖率统计执行

执行如下命令:

# 开始统计执行,执行完成会自动生成.coverage的文件
coverage run test.py
# 统计概要,执行率64%
coverage report -m 

在这里插入图片描述
生成 reportcoveragehtml报告

# 执行如下命令,生成html报告
coverage html
coverage html -d reportcoveragehtml

命令执行之后,他会生成一个 reportcoveragehtml 的文件夹,然后我们在文件夹中找到以我们运行文件开头生成的html文件,然后再浏览器中打开
在这里插入图片描述
打开之后,报告生成是这个样子的~
统计结果文件,红色底色的行表示没有执行。

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100695.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • c语言return的用法函数返回值返回后干嘛_函数可以不返回值吗

    c语言return的用法函数返回值返回后干嘛_函数可以不返回值吗@C语言return的用法详解,C语言函数返回值详解欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown

    2022年10月23日
  • win10进入文件夹指令_命令行进去某个文件夹

    win10进入文件夹指令_命令行进去某个文件夹win+R-运行-cmd打开命令行窗口输入盘符:D:进入D盘命令行显示:D:\>继续输入D:\>cdD:\test进入test文件夹//在文件夹目录下,shift+鼠标右键,弹出菜单里,选择powershell,打开PowerShell框//当前,在E盘下打开的powershellE:\>//从E盘进入…

    2022年10月15日
  • 2cu监控app下载_安卓2.2系统下载

    2cu监控app下载_安卓2.2系统下载环境要求HttpRunner是一个基于Python开发的测试框架,可以运行在macOS、Linux、Windows系统平台上。这里使用macOS系统进行演示对于python版本要求:py

    2022年7月29日
  • ES 安装 elasticsearch-sql插件「建议收藏」

    ES 安装 elasticsearch-sql插件「建议收藏」1、查看sql插件githubhttps://github.com/NLPchina/elasticsearch-sql2、安装1、cdelasticsearch#进入目录2、./bin/elasticsearch-plugininstallhttps://github.com/NLPchina/elasticsearch-sql/releases/download/5.4.3.0/elasticsearch-sql-5.4.3.0.zip3、下载SQL的Serverwget

    2022年6月21日
  • java static 存在哪里_java中的静态变量和Class对象究竟存放在哪个区域?「建议收藏」

    java static 存在哪里_java中的静态变量和Class对象究竟存放在哪个区域?「建议收藏」JDK7的官方解释:CurrentlystaticfieldsarestoredintheinstanceKlassbutwhenthosearemovedintonativememorywe’dhavetohaveanewcardmarkstrategyforstaticfields.Thiscouldbesomethinglik…

    2022年5月7日
  • json字符串里有大括号_统一社会信用代码后面括号

    json字符串里有大括号_统一社会信用代码后面括号Acompoundstatementenclosedinparentheses.来自《gcc官方对此的说明》,源自gcc对c的扩展,如今被clang继承。RETURN_VALUE_RECEIVER={(//DowhateveryouwantRETURN_VALUE;//返回值)};实例使用示例self.backgroundView=({…

    2022年10月18日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号