pytest中fixture,pytest实现fixture的原理_3

  pytest中fixture,pytest实现fixture的原理

  本文主要介绍pytest的官方文档《夹具的自动使用》,有需要的朋友可以参考一下。希望能有所帮助。祝大家进步很大,早日升职加薪。

  现在我们知道夹具是一个非常强大的功能。

  有时候,我们可能会写一个fixture,这个fixture的所有测试功能都会用到它。

  这时,您可以使用autouse自动使所有的测试函数请求它,而不需要在每个测试函数中显示请求。

  具体用法是将autouse=True传递给fixture的修饰。

  导入pytest

  @pytest.fixture

  定义first_entry():

  返回“a”

  @pytest.fixture

  定义订单(第一项):

  return []

  @pytest.fixture(autouse=True)

  定义append_first(order,first_entry):

  退货单.追加(first_entry)

  def test_string_only(订单,第一个条目):

  断言顺序==[first_entry]

  def test_string_and_int(顺序,第一个条目):

  order.append(2)

  断言顺序==[first_entry,2]

  我们先来看看第一个测试函数test _ string _ only (order,first _ entry)的执行情况:

  虽然在测试函数中请求了两个fixture函数,但order没有获得[],first_entry没有获得 a 。因为有一个fixture函数的autouse=True,所以会先调用append_first并执行。在执行append_first的过程中,分别请求order和fixture函数first_entry。然后append_first分别追加[]和 a ,最后返回[a]。因此,断言assert order==[first_entry]是成功的。同样,第二个测试函数test _ string _ and _ int (order,first _ entry)的执行过程也是一样的。

  以上是pytest官方文件解读固定物自动使用的详细内容。更多pytest对fixtures自动使用的解读,请关注盛行IT软件开发工作室的其他相关文章!

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

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