小编cha*_*l_t的帖子

在测试完成时运行的基本 pytest 拆卸

我至少使用 pytest 作为通用测试运行程序,对工作中的各种 API 产品进行大型自动化集成测试,并且我一直在尝试找到一个同样通用的拆卸函数示例,该函数在任何测试完成时运行,无论测试成功或失败失败。

我的典型使用模式是超线性的,通常是这样的:

def test_1():
    <logic>
    assert something

def test_2():
    <logic>
    assert something

def test_3():
    <logic>
    assert something
Run Code Online (Sandbox Code Playgroud)

有时,当这样做有意义时,我会在脚本的顶部放入一个设置装置,并将自动使用参数设置为“True”,该参数在每个脚本启动时运行:

@pytest.fixture(scope="session", autouse=True)
def setup_something():
    testhelper = TestHelper
    testhelper.create_something(host="somehost", channel="somechannel")

def test_1():
    <logic>
    assert something

def test_2():
    <logic>
    assert something

def test_3():
    <logic>
    assert something
Run Code Online (Sandbox Code Playgroud)

直到最近,一次性 Docker 环境让我能够跳过整个拆卸过程,但我有点紧张,其中一个目前不可用。理想情况下,在不偏离我已经使用的相同线性模式的情况下,我将如何实现另一个 pytest 夹具,其功能如下:

@pytest.fixture
def teardown():
    testhelper = TestHelper
    testhelper.delete_something(thing=something)
Run Code Online (Sandbox Code Playgroud)

运行何时完成?

fixtures pytest teardown

4
推荐指数
1
解决办法
5101
查看次数

标签 统计

fixtures ×1

pytest ×1

teardown ×1