Pytest基础使用教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytest基础使用教程相关的知识,希望对你有一定的参考价值。

参考技术A

Pytest是一个 易用 强大 灵活 的功能测试框架,并且兼容unittest和nose的测试用例

运行方法
在当前文件所在目录,打开命令行,运行:

或者在脚本中,导入pytest,使用 pytest.main([...]) 运行:

mark主要用来标记用例,通过不同的标记实现不同的运行策略
主要用途:

标记和分类用例

标记用例在指定条件下跳过或直接失败

标记使用指定fixtures

参数化

标记超时时间

或命令行使用 pytest --timeout=300 限定所有用例

标记失败重跑次数

或 pytest --reruns 5 --reruns-delay 1

Pytest提供 会话 (一次测试运行为一个会话)/包/模块/类/方法级别以及 用例单独 的fixtures方法, 并且支持unittest/nose中的 setUpModule/tearDownModule , setUpClass/tearDownClass , setUp/tearDown 方法,并且使用更加灵活

fixture参数支持 scope (生效范围)和 autouse (自动使用)

生效范围

执行顺序

独立的fixture方法(供某个/某些用例单独使用)

向fixture方法传递参数及使用返回结果

使用 conftest.py (固定文件名),集中管理fixtures方法

通过 pytest ... 命令,可以实现非常灵活的执行控制

其它常用参数

或 pytest --timeout=300 限定所有用例

或 pytest --reruns 5 --reruns-delay 1

pytest基础

文章目录

一、pytest简介

Pytest是一个测试框架,其将测试常用的内容都包含进来了,如生成测试报告、生成覆盖率报告等。而且Pytest提供插件功能,很多开发人员可以通过开发Pytest插件来扩展Pytest的功能。

Pytest不是Python自带的模块,需要自行安装。推荐使用PIP进行安装,安装命令如下:

pip install pytest

二、基本功能

pytest文档

官方文档:https://docs.pytest.org/en/latest/contents.html

在pytest框架中,有如下约束:

  • 所有的单测文件名都需要满足test_.py格式或_test.py格式。
  • 在单测文件中,测试类以Test开头,并且不能带有 init 方法(注意:定义class时,需要以T开头,不然pytest是不会去运行该class的)
  • 在单测类中,可以包含一个或多个test_开头的函数。
  • 在执行pytest命令时,会自动从当前目录及子目录中寻找符合上述约束的测试函数来执行。

三、运行

import pytest # 引入pytest包

class TestBase:
    @py

以上是关于Pytest基础使用教程的主要内容,如果未能解决你的问题,请参考以下文章

pytest基础

pytest基础

Python基础之pytest参数化

pytest基础----常用的命令行选项

Pytest基础自学系列

pytest零基础入门到精通(03)fixture的运用