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

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、用例抛出其他异常

猜你喜欢

转载自blog.csdn.net/admins_/article/details/122154761