gpt4 book ai didi

pytest - 为不同的测试赋予 Pytest 设备不同的范围

转载 作者:行者123 更新时间:2023-12-04 15:51:18 29 4
gpt4 key购买 nike

在我的测试套件中,我有一些数据生成装置,用于许多参数化测试。其中一些测试希望这些装置在每个 session 中只运行一次,而另一些则需要它们运行每个功能。例如,我可能有一个类似于:

@pytest.fixture
def get_random_person():
return random.choice(list_of_people)

和 2 个参数化测试,一个想要在每个测试条件下使用同一个人,另一个想要每次都使用一个新人。这个装置有什么办法可以让一个测试的 scope="session"和另一个测试的 scope="function"?

最佳答案

这样做的一种方法是将实现分离出来,然后让 2 个不同范围的装置返回它。所以像:

def _random_person():
return random.choice(list_of_people)

@pytest.fixture(scope='function')
def get_random_person_function_scope():
return _random_person()

@pytest.fixture(scope='session')
def get_random_person_session_scope():
return _random_person()

关于pytest - 为不同的测试赋予 Pytest 设备不同的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53749291/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com