pytest实现fixture的原理,pytest fixture获取测试数据

  pytest实现fixture的原理,pytest fixture获取测试数据

  本文主要分享Pytestfixture参数传递的几种方式。文章基于python相关资料,详细介绍了该课题,具有一定的参考价值,有需要的朋友可以参考一下。

  00-1010 1.背景2。Fixture中参数传递的几种方式1)Fixture中函数返回2)与@ py test . mark . parameter ize结合3)Fixture中嵌套方法传递4)测试方法中数据生成后直接调用teardown。

  

目录

 

  最近在Pytest中使用fixture和conftest时,我们需要在conftest中的setup和teardown方法中传递参数。下面是一些实现的方法。

  

1.背景

 

  

2.fixture中参数传递的几种方式

 

  conftest.py

  @pytest.fixture(scope=class )

  def setup_func():

  test_data=[{k1: v1},{k2: v2}]

  返回测试数据

  testcase.py

  定义测试函数(设置函数)

  打印(设置功能)

  结果:

  执行一个用例并输出:[{k1 : v1},{k2 : v2}]

  

1)fixture中的函数返回

 

  conftest.py

  @pytest.fixture(scope=class )

  def setup_func(请求):

  打印(request.param)

  返回请求. param

  testcase.py

  test_data=[{k1: v1},{k2: v2}]

  @ py test . mark . parameterize( setup _ func ,test_data,indirect=True)

  定义测试函数(设置函数)

  设置_函数

  结果:

  执行两个用例,分别输出:{k1 : v1},{k2 : v2}

  注:

  当indirect=False时,“setup_func”作为普通变量处理;

  当indirect=True时,“setup_func”作为函数执行,“test_data”作为函数中的参数传递。

  

2)与@pytest.mark.parametrize的结合

 

  confitest.py

  @pytest.fixture(scope=class )

  def setup_func1():

  test_data1=[{k1: v1},{k2: v2}]

  返回测试数据1

  @pytest.fixture(scope=class )

  定义设置函数2(设置函数1):

  a=设置_功能1

  b=[{k11: v11},{k22: v22}]

  返回(a,b)

  testcase.py

  def测试_aaa(self,setup_func2):

  打印(setup_func2)

  结果:

  执行一个用例并输出:([{K1 : v1},{K2 3360 v2}],[{K11 3360 v11},{K22 3360 v22}])

  

3)fixture中的方法嵌套传递

 

  @python.fixture(scope=class )

  def teardown_func():

  def _teardown_func(param1,param2):

  函数()

  返回_拆卸_功能

  关于分享Pytest夹具参数传递的几种方式的这篇文章到此为止。有关Pytest参数传递的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: