夹具(fixture)简介

Python 测试入门

Alexander Levin

Data Scientist

什么是夹具

  • 夹具:可用于执行测试的预备环境
  • 夹具设置:为一个或多个测试准备环境与所需资源的过程

想象一次野餐准备:

  1. 邀请朋友并准备食物(这就是"夹具"的作用)
  2. 尽情玩!
  3. 收尾清理
Python 测试入门

为何需要夹具

夹具的作用:

  • 简化测试设置
  • 将环境准备与测试本身隔离
  • 复用夹具代码
Python 测试入门

夹具示例:概览

假设我们有:

  • 一个名为 data 的 Python list 变量
  • data = [0, 1, 1, 2, 3, 5, 8, 13, 21]

我们要测试:

  • 它包含 9 个元素
  • 它包含元素 521
Python 测试入门

夹具示例:代码

import pytest

# Fixture decorator
@pytest.fixture
# Fixture for data initialization
def data():
    return [0, 1, 1, 2, 3, 5, 8, 13, 21]

def test_list(data):
    assert len(data) == 9
    assert 5 in data
    assert 21 in data
Python 测试入门

夹具示例:输出

示例输出: 夹具示例的输出

Python 测试入门

如何使用夹具

要使用夹具,请执行:

  1. 准备软件和测试
  2. 找到"环境准备"
  3. 创建夹具:
    • 声明 @pytest.fixture 装饰器
    • 实现夹具函数
  4. 使用夹具:
    • 在测试函数中传入夹具名
    • 运行测试!
Python 测试入门

总结

我们学习了测试夹具:

  • 夹具:可用于执行测试的预备环境
  • 用夹具让测试设置更简单,并与测试函数隔离
  • 简例:准备一个 Python list
  • 通过声明 @pytest.fixture 定义 pytest 夹具
    • 后接一个夹具函数
  • 在测试中用夹具名作为变量
Python 测试入门

Passons à la pratique !

Python 测试入门

Preparing Video For Download...