首页 > 其他 > 详细

pytest- fixture 测试的固定配置,使不同范围的测试都能够获得统一的配置

时间:2021-06-13 01:21:58      阅读:19      评论:0      收藏:0      [点我收藏+]

fixture为可靠的和可重复执行的测试提供固定的基线(可以理解为测试的固定配置,使不同范围的测试都能够获得统一的配置),fixture提供了区别于传统单元测试(setup/teardown)风格的令人惊喜的功能,而且pytest做得更炫。

1. fixture 可以作为一个函数的参数被调用

test_fixture.py:

 1 @pytest.fixture
 2 def numbers():
 3     a = 10
 4     b = 20
 5     c = 30
 6     return [a, b, c]
 7 
 8 
 9 def test_method1(numbers):
10     x = 15
11     assert numbers[0] == x
12 
13 
14 def test_method2(numbers):
15     y = 20
16     assert numbers[1] == y

test_fixture.py 中的所有test_*()测试方法在执行前都会先执行 numbers()

代码执行过程:

  • pytest 找到test_ 开头的函数,于是找到了test_method1() 和 test_method2()
  • test_method1() 和 test_method2()测试函数,需要一个参数numbers,于是pytest找到并且调用这个用@pytest.fixture装饰的numbers()函数
  • numbers()被调用来创建一个实例

2. fixture可以在一个类、或者一个模块、或者整个session中被共享,加上范围即可:

@pytest.fixture(scope = "module")
https://zhuanlan.zhihu.com/p/87775743

pytest- fixture 测试的固定配置,使不同范围的测试都能够获得统一的配置

原文:https://www.cnblogs.com/jane21/p/14879060.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!