python代码覆盖率测试_Coverage——Django代码覆盖率测试

Coverage——Django代码覆盖率测试

Coverage是一个用来测试python程序代码覆盖率的工具,它能够识别代码的哪些部分已经被执行,并识别有哪些可以执行但未执行的代码。覆盖率测试通常用来衡量测试的有效性和完善性。

安装

方法一:

pip install coverage(但it doesn't work on my电脑:( )

方法二:

(it works:) )

使用简介

1.用coverage run my_program.py arg命令来运行程序

c3b5259ba95c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2.coverage report命令可以在屏幕上显示运行结果

c3b5259ba95c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

可以查看已覆盖数、未覆盖数以及覆盖百分比

3.coverage html命令可获得更加详细的信息

此命令在同级目录下生成包含html文件的文件夹,默认名称为htmlcov,点击打开index.html即可。

4.coverage run --branch my_program.py arg命令支持分支覆盖测量

若程序中的某一行能够跳转到多个下一行(例如if语句),那么coverage会跟踪实际访问过哪些目标,并且标记出没有被访问的代码。相应的html报告中,未执行的分支以黄色显示,右侧注释也会显示未执行的分支行号。

5.coverage xml命令可以生成xml格式的报告

实例

$coverage run manage.py test

$coverage html

生成网页如下图:

c3b5259ba95c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

可以通过点击 Module 列中列出的文件名来打开一个新的页面,页面中将会明显标识出代码中没有被单体覆盖的部分。

c3b5259ba95c?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

其他

coverage.py 支持配置文件。配置文件格式是传统的“.ini”文件,还可以使用 # 或者 ; 来添加注释。

Coverage.py 也允许在上述提到的配置文件中指定需要解析的源文件。在配置文件中设置了需要解析的文件后就可以通过运行 coverage.py 来看运行结果。它还支持“--source”命令行选项。

coverage.py还就是它支持插件。你可以自己写插件,也可以从网上下载并安装别人的插件来增强 coverage.py 的功能。

总结

Coverage.py 可以检测单体测试代码并且发现单体测试覆盖中的漏洞,但高质量的测试仍然需要自己编写。coverage的配置相对来说比较简单,但是我在配置的过程中还是踩了不少坑,例如报错DJANGO_SETTINGS_MODULE or call settings.configure()等。真诚建议大家遇到坑时使用google而不是百度搜索==

参考:https://coverage.readthedocs.io/en/v4.5.x/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值