当前位置:   article > 正文

Python接口自动化测试之pytest:(五)Fixture的参数化使用_fixture参数化

fixture参数化

在mark标记中我们已经知道装饰器@pytest.mark.parametrize()对测试方法可以进行参数化,那么参数化也可以通过固件实现,只不过Fixture的参数化是通过params参数实现的。

同一个测试方法可能需要不同的参数来构造逻辑、环境或结果基本相同的场景,可以使用Fixture的参数化来减少重复工作。

来看看下面的例子:固件参数化使用Pytest的内置固件request,使用request.param来获取参数。

  1. import pytest
  2. @pytest.fixture(params=[(1,2,3),(2,3,5),(4,6,9)])
  3. def test_fix_params(request):
  4. return request.param #使用内置固件request来获取参数
  5. def test_fix_add(test_fix_params): #在参数中调用fixture的参数化方法
  6. assert test_fix_params[2] == test_fix_params[0] + test_fix_params[1]
  7. if __name__ == '__main__':
  8. pytest.main(['-s', '-v', 'test_fixture_para.py'])

执行结果如下:可见测试方法共执行了3次。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/143757
推荐阅读
相关标签
  

闽ICP备14008679号