gpt4 book ai didi

python - 如何为 py.test 中的所有测试跨模块共享变量

转载 作者:IT老高 更新时间:2023-10-28 20:31:38 29 4
gpt4 key购买 nike

我有多个由 py​​.test 运行的测试,它们位于多个文件的多个类中。

与 py.test 使用的每个文件中每个类的每个方法共享大型字典的最简单方法是什么?

简而言之,我需要为每个测试创建一个“全局变量”。在 py.test 之外,我对这个变量没有用处,所以我不想将它存储在正在测试的文件中。我经常使用 py.test 的固定装置,但这对于这种需要来说似乎有点过分了。也许这是唯一的方法?

最佳答案

更新:pytest-namespace hook is deprecated/removed .不要使用。#3735了解详情。

您提到了显而易见且最不神奇的选择:使用 fixture 。你可以在你的模块中使用 pytestmark = pytest.mark.usefixtures('big_dict') 将它应用到整个模块,但是它不会在你的命名空间中,所以明确地请求它可能是最好的。

或者,您可以使用钩子(Hook)将内容分配到 pytest 命名空间:

# conftest.py

def pytest_namespace():
return {'my_big_dict': {'foo': 'bar'}}

现在你有了 pytest.my_big_dict。不过, fixture 可能仍然更好。

关于python - 如何为 py.test 中的所有测试跨模块共享变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22768976/

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