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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm的调试功能_安卓调试模式怎么打开

    pycharm的调试功能_安卓调试模式怎么打开Debug调试,是对于学习编程人员来说是一项重要的技能。只有当你学会debug了以后,才可以正确的知道程序的走向流程是如何的,DEBUG是排除程序故障的意思。debug则是通过工具来对代码进行调试,进而一步步找出程序中出现bug的位置,也就是程序中具体错误代码的位置。Pycharm中的debug模式首先,还是用示例说话,我们先写一段简短的代码,来帮助我们完成今天要讲的内容。初学者可能没见过for循环中的下划线‘_’,在Python中是占位符的意思,因…

    2022年8月28日
    4
  • JSON在PHP中的基本应用

    JSON在PHP中的基本应用从5.2版本开始,PHP原生提供json_encode()和json_decode()函数,前者用于编码,后者用于解码。一、json_encode()该函数主要用来将数组和对象,转换为json格式

    2022年7月4日
    24
  • 网站程序下载_可以免费下载程序的网站

    网站程序下载_可以免费下载程序的网站1、博客网站:Wordpress、zblog2、门户网站:Dedecms、phpcms、帝国cms3、论坛网站:Discuz4、企业网站:Dedecms、phpcms、帝国cms5、商城网站:

    2022年8月6日
    6
  • cpu后缀含义「建议收藏」

    cpu后缀含义「建议收藏」一、台式cpu后缀含义1、Intelcpu后缀+X:极致性能处理器,价格不菲,散热惊人,性能至上。后缀+K:不锁倍频处理器,可超频。(游戏用)后缀+F:无内置核心显卡处理器,需要搭配独立显卡。(省钱游戏用)后缀+E:嵌入式工程级处理器。(一般用不到)后缀+S、T:S代表功耗65w,T代表功45w或更低。(一般用不到)2、AMDcpu后缀+K:不锁倍频处理器,可超频。…

    2022年5月30日
    40
  • python使用opencv如何保存图片_OpenCV Python 保存图片

    python使用opencv如何保存图片_OpenCV Python 保存图片本示例使用的OpenCV版本是:4.1.1运行Python的编辑器:Jupyternotebook示例目的通过无损和有损的方式进行图片保存。实现代码1,加载图片importcv2#加载OpenCVimg=cv2.imread(“dashen.jpeg”)#读取/加载图片2,把图片保存为PNG格式使用无损的方式保存成PNG格式cv2.imwrite(‘dashen_co…

    2025年7月31日
    3
  • Quartus II 13.0sp1 (64-bit)使用教程「建议收藏」

    Quartus II 13.0sp1 (64-bit)使用教程「建议收藏」本人大三在学习计算机组成原理,要用到QuartusII13.0sp1(64-bit),但是下载安装完以后发现不会用,世界这么大,百度也没有任何收获,啊啊啊,昨天终于会用了,所以写了这个教程,希望对大家有用,详情见图片这里会弹出来一个框,然后(next)然后得到下面这个图这里也有一个(next)省略了,都是点一下哦然后(next)——》(finsh)module…

    2022年10月10日
    2

发表回复

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

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