07.pytest的fixture

Pytest 中的 Fixture 详解

1. 什么是 Fixture

1.1 基本概念

Fixture(夹具) 是 pytest 中一个非常重要的概念,它提供了一种机制来为测试用例提供前置准备后置清理的功能。你可以把 fixture 理解为测试用例的”准备工作”和”收尾工作”。

1.2 形象比喻

想象一下,你要做一道菜:

没有 Fixture 的情况

  • 每次做菜前,你都要自己去买菜、洗菜、切菜
  • 每次做完菜,你都要自己洗碗、收拾厨房
  • 如果要做 10 道菜,这些准备工作要重复 10 次

有 Fixture 的情况

  • 你有一个”助手”(fixture),它会自动帮你:
    • 在开始做菜前准备好所有食材(前置准备)
    • 在完成做菜后自动清理厨房(后置清理)
  • 你只需要专注于”做菜”本身(测试逻辑)
  • 无论做多少道菜,准备工作都只需要定义一次

发表评论