44-pytest-单元测试覆盖率

Posted 爱学习de测试小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了44-pytest-单元测试覆盖率相关的知识,希望对你有一定的参考价值。

单元测试覆盖率


前言

  • 本篇来学习下pytest中测试用例覆盖率统计

安装插件

pip install pytest-cov

使用示例

  • 生成html报告:pytest --cov --cov-report=html
# -*-coding:utf-8一*-
# @Time:2022/10/13
# @Author: 大海

import os


def pay_status(result):
    """根据接口返回code状态,给用户提示对应的结果"""
    if result.get("code") == 0:
        return "支付成功"
    elif result.get("code") == 30000:
        return "支付失败: %s" % result.get("msg")
    elif result.get("code") == 30001:
        return "支付失败: %s" % result.get("msg")
    elif result.get("code") == 30002:
        return "支付失败: %s" % result.get("msg")
    elif result.get("code") == 201102:
        return "支付失败: %s" % result.get("msg")
    else:
        return "支付失败: 系统异常,未知错误"


def test_pay_success():
    result = 
        "code": 0,
        "msg": "success!",
        "data": []
    
    assert pay_status(result) == "支付成功"


if __name__ == '__main__':
    # 指定模块(目录)--cov=src   指定具体模块(py文件)--cov=test_75.pay
    os.system('pytest -s test_75.py --cov --cov-report=html')

查看报告

  • 在项目根目录会生成 htmlcov 目录

以上是关于44-pytest-单元测试覆盖率的主要内容,如果未能解决你的问题,请参考以下文章

单元测试-代码覆盖率工具 -- JaCoCo

单元测试——jacoco单元测试代码覆盖率检测

iOS单元测试-04-覆盖率上传sonarqube

Maven单元测试报告及测试覆盖率

为啥?单元测试覆盖率中显示的类即使没有添加到测试目标中

Android 单元测试实战—— 基于Cobertra&sonarqube的单元测试覆盖率统计