我有一个大的conftest.py我希望将文件拆分为更小的部分,原因有两个:
我不知道pytest提供了任何机制来解析同一文件夹中多个位置的conftest文件,因此我设计了一个机制,如下所示:
import sys
import os
sys.path.append(os.path.dirname(__file__))
from _conftest_private_part_1 import *
from _conftest_private_part_2 import *
from _conftest_private_part_3 import *
@pytest.fixture
def a_fixture_that_is_part_of_the_public_conftest_api():
pass
这符合我的需要,但我不知道有没有更好的方法。在
这对我很有效,而且似乎更容易/更清晰:
顶层测试/conftest.py(可重复使用的打印调试示例请求。响应)公司名称:
从较低级别的conftest导入较高级别的conftest代码-例如,tests/package1/conftest.py公司名称:
^{pr2}$然后,在tests/package1/test\*.py中的较低级别测试中,只需通过以下方式导入:
然后您就可以从一个conftest获得合并的conftests。对其他较低级别的详细/模块化重复此模式conftest.py整个测试层次结构中的文件。在
您可以将资料放入其他模块中,并在
conftest.py
中使用pytest_plugins
变量引用它们:如果您的
conftest.py
上有{a1},这也会起作用。在你不需要任何神奇的魔法。py.测试自动将当前测试文件的路径添加到
sys.path
,以及指向目标目录的所有父路径。在因此,您甚至不需要将共享代码放入
conftest.py
。您可以将其放入普通模块或包中,然后导入它(如果您想共享fixture,那么这些fixture必须位于conftest.py
)中。在另外,还有一个关于从documentation中的
conftest.py
导入的注释:相关问题 更多 >
编程相关推荐