pytest测试框架入门

安装pytest

命令行输入:

pip install -U pytest

检查是否安装了正确的版本:

λ pytest --version
This is pytest version 5.3.5,imported from e:\python37\lib\site-packages\pytest\__init__.py
setuptools registered plugins:
  pytest-html-2.0.1 at e:\python37\lib\site-packages\pytest_html\plugin.py
  pytest-metadata-1.8.0 at e:\python37\lib\site-packages\pytest_metadata\plugin.py

一个简单的demo

import pytest

def func(x):
    return x + 1

 test_answer():
    assert func(3) == 5

运行demo

首先进入到此demo文件的路径下,然后执行 pytest ,会运行名称为test*.py的文件(*匹配任意符合字母和数字)

pytest运行规则查找当前目录及其子目录下以test_.py或_test.py文件,找到文件后,在文件中找到以test开头函数并执行。

C:\Users\haiy\Desktop\code\iot_yjb_api
λ pytest
============================ test session starts ============================= platform win32 -- Python 3.7.1rc1,pytest-1,pluggy-0.13.1
rootdir: C:\Users\haiy\Desktop\code\iot_yjb_api
plugins: html-0
collected  item

test_api.py F                                                           [100%]

================================== FAILURES ================================== ________________________________ test_answer _________________________________

    def test_answer():
>       assert func(3) == 5
E    assert 4 == 
E     +  where 4 = func(3)

test_api.py:9: AssertionError
============================= 1 failed in 0.23s =============================

此测试返回失败报告,因为 func(3) 不返 5 .

 如何编写pytest测试样例

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

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

相关文章

目录1、前言2、mark的使用(一)注册自定义标记(二)在测试...
用例执行状态用例执行完成后,每条用例都有自己的状态,常见...
什么是conftest.py可以理解成一个专门存放fixture的配置文件...
前言pytest默认执行用例是根据项目下的文件名称按ascii码去收...
前言:什么是元数据?元数据是关于数据的描述,存储着关于数...