#firtures通常用来对测试方法、测试函数、测试类和整个测试文件进行初始化或还原测试环境
# setup_module/teardown_module:在当前文件中,在所有测试用例执行之前与之后执行,只执行一次;
# setup_function/teardown_function:在每个测试函数之前与之后执行;
# setup/teardown:在每个测试函数之前与之后执行;

# 在当前文件下打开cmd窗口执行:pytest -s test_fixtures_01.py

#功能函数
def multiply(a,b):
return a * b

#===============Firtures=============
def setup_module(module):
print('setup_module------------>')

def teardown_module(module):
print('teardown_module--------->')

def setup_function(function):
print('setup_function---------->')

def teardown_function(function):
print('teardown_function-------->')

def setup():
print('setup---------->')

def teardown():
print('teardown------->')

#==========测试用例==========
def test_multiply_3_4():
print('test_numbers_3_4')
assert multiply(3,4) == 12

def test_multiply_a_3():
print('test_numbers_a_3')
assert multiply('a',3) == 'aaa'

#pytest 是支持使用测试类的,同样必须以Test开头,注意首字母大写。
# setup_class/teardown_class:在当前测试类的开始与结束时执行,只执行一次;
# setup_module/teardown_module:在每个测试方法开始与结束时执行;
# setup/teardown:在每个测试方法开始与结束时执行;

# 在当前文件下打开cmd窗口执行:pytest -s test_fixtures_02.py

#功能函数
def multiply(a,b):
return a * b

class TestMultiply:
#===============Firtures=============
@classmethod
def setup_class(cls):
print('setup_class------------>')

@classmethod
def teardown_class(cls):
print('teardown_class--------->')

def setup_module(self,module):
print('setup_module------------>')

def teardown_module(self,module):
print('teardown_module--------->')

def setup(self):
print('setup---------->')

def teardown(self):
print('teardown------->')

#==========测试用例==========
def test_multiply_5_6(self):
print('test_numbers_5_6')
assert multiply(5,6) == 30

def test_multiply_b_3(self):
print('test_numbers_b_3')
assert multiply('b',3) == 'bbb'

python + pytest 基本使用方法(Fixture)的更多相关文章

  1. python + pytest基本使用方法(拓展库)

    一.测试钩子配置文件 import pytest# conftest.py 是pytest特有的本地测试配置文件;# 既可以用来设置项目级别的Fixture,也可用来导入外部插件,还可以指定钩子函数# ...

  2. python + pytest基本使用方法(运行测试&测试报告)

    import pytest# 1.运行名称中包含某字符串的测试用例#名称中含add 的测试用例# 执行: pytest -k add test_assert.py# 2.减少测试的运行冗长# 执行: ...

  3. python + pytest基本使用方法(参数化)

    import pytestimport math#pytest 参数化#'base,exponent,expected'用来定义参数的名称.# 通过数组定义参数时,每一个元组都是一条测试用例使用的测试 ...

  4. python + pytest基本使用方法(断言)

    #pytest 的基本用法# 安装: pip install pytest#在当前目录下运行 : 输入 pytest# 1.断言#功能:用于计算a与b相加的和def add(a,b): return ...

  5. python pytest测试框架介绍二

    在介绍一中简单介绍了pytest的安装和简单使用,接下来我们就要实际了解pytest了 一.pytest的用例发现规则 pytest可以在不同的函数.包中发现用例,发现的规则如下 文件名以test_开 ...

  6. python:pytest中的setup和teardown

    原文:https://www.cnblogs.com/peiminer/p/9376352.html 之前我写的unittest的setup和teardown,还有setupClass和teardow ...

  7. Python+Pytest+Allure+Git+Jenkins接口自动化框架

    Python+Pytest+Allure+Git+Jenkins接口自动化框架 一.接口基础 接口测试是对系统和组件之间的接口进行测试,主要是效验数据的交换,传递和控制管理过程,以及相互逻辑依赖关系. ...

  8. Pytest(3)fixture的使用

    fixture的优势 Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进: 命名方式灵活,不局限于 setup 和teardown 这几个命名 conf ...

  9. python+pytest接口自动化(11)-测试函数、测试类/测试方法的封装

    前言 在python+pytest 接口自动化系列中,我们之前的文章基本都没有将代码进行封装,但实际编写自动化测试脚本中,我们都需要将测试代码进行封装,才能被测试框架识别执行. 例如单个接口的请求代码 ...

随机推荐

  1. 多实例gpu_MIG技术快速提高AI生产率

    多实例gpu_MIG技术快速提高AI生产率 Ride the Fast Lane to AI Productivity with Multi-Instance GPUs 一.平台介绍 NVIDIA安培 ...

  2. 3D点云重建原理及Pytorch实现

    3D点云重建原理及Pytorch实现 Pytorch: Learning Efficient Point Cloud Generation for Dense 3D Object Reconstruc ...

  3. 看懂redis配置文件

    看懂redis 配置文件: https://blog.csdn.net/liqingtx/article/details/60330555 redis 数据库缓存双写一致性解决方案: https:// ...

  4. java后端知识点梳理——Redis

    redis都支持哪些数据类型?应用场景有哪些? redis支持五种数据类型作为其Value,redis的Key都是字符串类型的. string:redis 中字符串 value 最大可为512M.可以 ...

  5. .NET平台系列27:在 Linux 上安装 .NET Core/.NET5/.NET6

    系列目录     [已更新最新开发文章,点击查看详细] .NET 在不同的 Linux 发行版上可用. 大多数 Linux 平台和发行版每年都有一个主要版本,并提供用于安装 .NET 的包管理器. 本 ...

  6. Task01:初识数据库

    本章主要讲解数据库安装和数据库基本介绍,考虑易用性及普及度,本课程采取mysql进行教学. 1.1 初识数据库 数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合.该数据集合称 ...

  7. go语言的排序和搜索(转载)

    http://studygolang.com/articles/1598 go语言的排序和搜索 晚上准备动手写点 go 的程序的时候,想起 go 如何排序的问题.排序 sort 是个基本的操作,当然搜 ...

  8. git命令使用(必备系列)

    git是一个分布式版本控制系统,得益于高效.协作和快速的项目代码管理特性几乎每一个软件开发团队都在深度使用.本篇是对git命令的介绍,涵盖了不低于95%的日常操作命令,对你有用话可以收藏一下哦. 一. ...

  9. oracle查询用户所在表为空的表名

    1 select * from user_tables where num_rows = 0 查询之后发现查询的不全,查询之后发现num_rows为空 select * from user_table ...

  10. CRM客户管理软件如何帮助销售?

    对现代企业来说,销售团队的作用是举足轻重的.这与企业的利益密切相关,因此提高企业的销售绩效是企业的首要目标.CRM客户管理软件能够帮助企业做到以客户为中心,构建及改善客户关系,帮助企业优化业务流程,实 ...