每日面经分享(pytest装饰器)

  1. pytest装饰器
    a. @pytest.mark.parametrize:这个装饰器用于标记测试函数,并为其提供多组参数进行参数化测试。可以使用元组、列表、字典等形式来指定参数组合。
import pytest

@pytest.mark.parametrize("num1, num2, expected", [(2, 2, 4), (5, 3, 8)])
def test_addition(num1, num2, expected):
    assert num1 + num2 == expected

b. @pytest.fixture:这个装饰器用于定义夹具函数,可以在测试函数执行前后进行准备和清理工作。测试函数可以通过参数来使用夹具。

import pytest

@pytest.fixture
def setup_data():
    # 准备测试数据
    data = [1, 2, 3, 4, 5]
    yield data  # 返回数据
    # 清理工作

def test_data_length(setup_data):
    assert len(setup_data) == 5

c. @pytest.mark.skip:这个装饰器用于标记测试函数,跳过该测试函数的执行。可以用于临时禁用某些测试,或者在某些条件下跳过测试。

import pytest

@pytest.mark.skip(reason="Not implemented yet")
def test_functionality():
    # 测试函数的实现
    assert 1 + 1 == 2

d. @pytest.mark.xfail:这个装饰器用于标记一个预期失败的测试。通常在已知某些条件下测试会失败,但仍然希望执行它们并跟踪失败情况时使用。

import pytest

@pytest.mark.xfail
def test_division():
    assert 10 / 0 == 5

e. @pytest.mark.skipif:这个装饰器用于在满足指定条件时跳过测试。可以使用它来根据环境、配置或其他条件来动态决定是否跳过测试。

import pytest

@pytest.mark.skipif(sys.version_info < (3, 7), reason="Requires Python 3.7 or higher")
def test_functionality():
    # 测试函数的实现
    assert 1 + 1 == 2

互联网大厂测开经历,目前担任测试开发负责人,每天分享互联网面经,如果你有测试相关的问题,欢迎咨询,海鲜市场【简历优化】、【就业指导】、【模拟/辅导面试】,已辅导20位以上同学拿到心仪offer

海鲜市场

相关推荐

  1. pytest装饰:@pytest.mark.incremental

    2024-04-04 17:58:03       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 17:58:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 17:58:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 17:58:03       82 阅读
  4. Python语言-面向对象

    2024-04-04 17:58:03       91 阅读

热门阅读

  1. 给23年自己的一封信(一点学习心得)

    2024-04-04 17:58:03       40 阅读
  2. C语言 06 无符号数

    2024-04-04 17:58:03       32 阅读
  3. 数据结构之二叉树和平衡二叉树

    2024-04-04 17:58:03       29 阅读
  4. 【机器学习理论】2023 Spring Homework 2 Solution

    2024-04-04 17:58:03       27 阅读
  5. 编程生活day7--明明的随机数、6翻了、吃火锅

    2024-04-04 17:58:03       35 阅读
  6. C#多页面共用一个实例

    2024-04-04 17:58:03       34 阅读
  7. 【LeetCode】第2题:两数相加(AHK v2)

    2024-04-04 17:58:03       33 阅读
  8. EFCore通用仓储类

    2024-04-04 17:58:03       35 阅读
  9. AspectJ 的 5 大通知类型

    2024-04-04 17:58:03       32 阅读