【python学习】单元测试框架pytest(一)-28

Pytest是一个功能强大且易于使用的Python测试框架,相比unittest更加简洁高效。它支持各种测试场景,如跳过测试、重跑失败的测试、生成HTML报告等。要编写pytest测试用例,只需遵循特定的命名规则,如test_开头的文件和函数。在PyCharm中,可以通过配置运行配置来执行pytest测试。本文还提供了两个测试用例的示例,演示了如何编写和运行pytest测试,并展示了断言失败的输出情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pytest是一个非常成熟的全功能的Python测试框架,与 Python 自带的 unittest 测试框架类似,但是比 unittest 框架使用起来更简洁,效率更高。

Pytest是一个非常成熟的Python测试框架,主要特点有以下几点:

  • 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考
  • 能够支持简单的单元测试和复杂的功能测试
  • 执行测试过程中可以将某些测试用例跳过(skip),或者对某些预期失败的case标记成失败
  • 支持重复执行(rerun)失败的 case
  • 支持运行由 nose, unittest 编写的测试 case
  • 可生成html 报告
  • 方便jenkins持续集成
  • 可支持执行部分用例
  • 具有很多第三方插件,并且可以自定义扩展

怎么样编写pytest测试用例

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

pytest的运行规则

1、测试文件的名称必须要以test_*.py的格式,或者*_test.py的格式

2、测试类的名称必须要以Test开头,且这个类还不能有构造方法(__init__)

3、测试函数的名称必须要以test开头

pytest安装方法:

pip install pytest

在pycharm当中使用pytest单元测试框架执行代码过程中,进行切换,具体如下操作:

第一步:

第二步: 

 

第三步: 

 

 

实例代码(一):

def test_a():
    print("第一条测试用例")
def test_b():
    print("第二条测试用例")
def test_c():
    print("第三条测试用例")
def test_d():
    print("第四条测试用例")



-------------------------------------执行结果-------------------------------------

pytestname.py::test_a PASSED                                             [ 25%]第一条测试用例

pytestname.py::test_b PASSED                                             [ 50%]第二条测试用例

pytestname.py::test_c PASSED                                             [ 75%]第三条测试用例

pytestname.py::test_d PASSED                                             [100%]第四条测试用例


============================== 4 passed in 0.50s ==============================

 实例代码(二)控制台执行结果:

 

实例代码(二):

进行断言设置,判断用例是否执行通过

a=10
b=5

def test_a():
    print("第一条测试用例")
    assert a>b
def test_b():
    print("第二条测试用例")
    assert a<b
def test_c():
    print("第三条测试用例")
    assert a==b
def test_d():
    print("第四条测试用例")
    assert a!=b

实例代码(二)控制台执行结果:

 实例代码(二)控制台执行结果详情讲解:

注:只要是出现“AssertionError” 用例就是执行不通过

 

用例失败:

        1、出现了“AssertionError

        2、用例抛出其他异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值