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)
上一篇 2021年5月24日 上午11:00
下一篇 2021年5月24日 下午12:00


相关推荐

  • ov7725摄像头人脸识别_ov7725摄像头

    ov7725摄像头人脸识别_ov7725摄像头OV7725摄像头软件实现简单的二值化处理项目使用的摄像头型号:​ 正点原子OV7725摄像头模块,带FIFO的摄像头模块。图像二值化化的个人见解:​ 常见的图片格式:​ 黑白图片、灰度图片、彩色图片。不同的图片的格式类型主要的不同点在每个像素点需要几位的二位数来表示。黑白图片每个像素不是0就是1,0代表黑颜色,1代表白颜色。灰度图像每个像素需要一个字节表示(8位二进制)每个像素可以量化…

    2025年11月29日
    8
  • Python文件名后缀_python判断文件后缀

    Python文件名后缀_python判断文件后缀转自:python获取文件后缀名的方法_qingfengxd1的博客-CSDN博客_python获取文件后缀获取文件的后缀名有好几种方法:第一种:splittext()方法os.path.splittext(path)[-1]第二种:endswith()方法path=”test_user_info.py”bool=path.endswith(“.py”)print(bool)第三种:判断后缀名是否在字符串中(这种会存在误判,若是.pyx后缀,一样会打印True,前面两种不会)path=”te

    2026年2月19日
    6
  • C++中类的多继承

    C++中类的多继承在写这一主题的文章之前 在网上找到一篇很非常好的文章 C 之继承与多态 就没有必要做重复造轮子的事件了 那就从这篇文章开始吧 在 c 中一个类可以从多个基类中派生 即可以有多个父类 这就是多继承 多继承的方式主要有两种 1 简单版本类 C 会同时拥有类 A 和类 B 的特性 属性和方法 也就是两个类的所有成员 这种方式很简单这里就不多说 主要讲下面这种方式 2 复杂版本同样的 这个结构中

    2026年3月18日
    1
  • OpenClaw + Cursor 联动:AI 助手帮你写代码

    OpenClaw + Cursor 联动:AI 助手帮你写代码

    2026年3月12日
    2
  • Cholesky分解法可以将矩阵分解为,其中L为_半正定矩阵cholesky分解

    Cholesky分解法可以将矩阵分解为,其中L为_半正定矩阵cholesky分解头文件:/**Copyright(c)2008-2011ZhangMing(M.Zhang),zmjerry@163.com**Thisprogramisfreesoftware;youcanredistributeitand/ormodifyit*underthetermsoftheGNUGeneralPublicLicenseasp…

    2025年7月9日
    4
  • form layui vue 和_layui是基于vue的吗?「建议收藏」

    form layui vue 和_layui是基于vue的吗?「建议收藏」layui不是基于vue的。layui是一款绝对开源和免费的前端UI框架,遵循原生“HTML/CSS/JS”的书写与组织形式;它虽然外在极简,但是内容丰富,里面包含众多组件从核心代码到API都非常适合界面的快速开发。layui不是基于vue的。layui(谐音:类UI)是一款采用自身模块规范编写的前端UI框架,遵循原生HTML/CSS/JS的书写与组织形式,门槛极低,拿来即用。lay…

    2022年6月25日
    34

发表回复

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

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