【发布时间】:2013-03-13 20:50:44
【问题描述】:
固定装置往往很小且可重复使用。鉴于特定的夹具可以依赖于其他夹具
@pytest.fixture
def Account(db, memcache):
...
我想在模块中组织我的固定装置,并将它们导入到特定的测试文件中(例如)
from .fixtures.models import Account
不幸的是,这似乎不起作用。相反,我也总是必须导入所有从属装置,例如
from .fixtures.models import Account, db, memcache
拥有细粒度、可重复使用的小型固定装置并使其在模块级别上可访问的更好方法是什么? (conftest 适用于包/目录级别。)
【问题讨论】:
-
在 conftest.py 文件中组织夹具有什么问题?这对我们在大型项目中效果很好,它们都被加载并具有合适的隐式范围。
-
@flub 我对 conftest 的一个问题是当您在不同级别的测试目录中拥有许多它们时。要找出一个固定装置的来源,你必须自下而上扫描所有的 conftest 文件。您的 IDE 不知道它来自哪里。
-
--fixtures --verbose会告诉你灯具来自哪里。另外,如果我没记错的话,这些天绝地武士会找到固定装置的定义。有人可能应该把这些 cmets 写成这个问题的正确答案......