pytest与coverage联合使用

本文详细介绍了如何使用Python的coverage模块和pytest进行代码覆盖率测试。内容包括coverage的安装、运行方式(命令行及.py文件方式)、测试结果参数含义以及pytest与coverage的联合使用示例。通过具体的代码示例,展示了如何收集覆盖率信息、生成报告,并解释了报告中的各项指标。此外,还提供了不同运行方式下终端输出的结果和HTML报告页面的展示。

目录

安装 

运行方式

命令行方式

 .py文件方式

测试结果各参数含义

pytest与coverage联合使用示例

运行方式

方式一:coverage的终端使用

方式二:运行run.py

report HTML页面结果


覆盖率测量通常用于衡量测试的有效性。Coverage可以显示测试正在执行代码的哪些部分,以及哪些部分没有被执行。

coverage作用:用于检查代码测试覆盖率的工具。

官方文档:Coverage.py — Coverage.py 6.6.0b1 documentation

 

安装 

# 安装
$ pip install coverage

# 验证安装版本
$ coverage --version
Coverage.py, version 6.5.0 with C extension
Full documentation is at https://coverage.readthedocs.io

运行方式

命令行方式

# 搜集被测代码覆盖率信息,保存到 .coverage 文件中
$ coverage run 测试文件.py

# 生成覆盖率统计结果报告
$ coverage report

# 以HTML的形式生成覆盖率统计结果报告
$ coverage html

 .py文件方式

命名为run.py文件,放置在项目根目录下,具体如下:

import coverage
import pytest

# 实例化对象
cov = coverage.coverage()
cov.start()

# 测试
pytest.main(["-v", "-s"])

# 结束分析
cov.stop()

# 结果保存
cov.save()

# 命令行模式展示结果,并展示未执行代码具体行数,用于测试结果查看使用
cov.report(show_missing=True)

# 生成HTML覆盖率结果报告
cov.html_report(directory="res_html")

运行方式:进入到run.py文件所在路径执行以下命令

# 运行.py文件
$ python run.py

测试结果各参数含义

终端report里测试结果各参数含义:

  • Stmts :代码总行数
  • Miss:未执行代码行数
  • Cover:代码覆盖率

report HTML中测试结果各参数含义:

  • statements :代码总行数,不包含空行和注释行
  • missing:未执行代码行数
  • coverage:代码覆盖率

pytest与coverage联合使用示例

目录结构如下:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值