• [Python]使用pytest进行单元测试


    安装pytest

    pipenv install pytest

    验证安装的版本:

     pytest --version
    This is pytest version 5.3.1, imported from /home/wangju/.virtualenvs/demo_pytest-0JOM2vOx/lib/python3.6/site-packages/pytest.py

    接下来通过,几个实例熟悉pytest的用法

    实例1: 

    新建1个py文件,内容如下: 只运行1个case

    注意:py文件要以test_开头,否则运行pytest不会运行py文件中的测试方法

    import pytest
    
    def func(x):
        return x+1
    
    def test_func():
        assert func(3) ==5

    执行测试:

    执行测试的时候,我们只需要在测试文件test_demo1所在的目录下,运行pytest即可。pytest会在当前的目录下,寻找以test开头的文件(即测试文件),找到测试文件之后,进入到测试文件中寻找test_开头的测试函数并执行。 

    效果:

     分析说明:

    标记1处使用命令pytest运行测试 

    标记2处可以看出断言失败的原因:assert 4==5失败了

     实例2:

    在终端执行命令运行pytest:

    pytest -q test_demo2.py

    效果:

    分析说明:

    标记1处:

    -q即-quiet,作用是减少冗长,具体就是不再展示pytest的版本信息。

    因为我们已经创建了1个test_demo1这个py文件,此时我只想运行test_demo2这个文件,所以在此指明pytest只运行test_demo.py

    标记2处:

    可以看到,运行成功的case会显示为1个绿色的点,运行失败的case显示为F

    标记3处:

    可以看到断言失败的原因

    不熟悉hasattr的用法,可以看这里:Python hasattr() 函数

    如果case全部运行成功,则显示如下:

     

     

     

    如何编写pytest测试样例

    通过上面2个实例,我们发现编写pytest测试样例非常简单,只需要按照下面的规则:

    • 测试文件以test_开头(以_test结尾也可以)
    • 测试类以Test开头,并且不能带有 init 方法
    • 测试函数以test_开头
    • 断言使用基本的assert即可

    参考文档:

    这篇内容不错,有pytest使用实例,适合入门

    【Pytest】python单元测试框架pytest简介

    全功能Python测试框架:pytest

    Pytest - 使用介绍

  • 相关阅读:
    log4j学习
    数据库索引
    php 通过exec 创建git分支失败
    Nginx 常用全局变量 及Rewrite规则详解
    Jetbrains phpstorm pycharm 免费授权注册码
    Nginx return 关键字配置小技巧
    PHP 加密 和 解密 方法
    Nginx 禁用IP IP段
    Yii2 捕获错误日志
    transform 实现响应式绝对居中
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/12009117.html
Copyright © 2020-2023  润新知